Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 正在寻找根据扩展名删除目录中文件的方法';s案例_Powershell_Batch File_Cmd - Fatal编程技术网

Powershell 正在寻找根据扩展名删除目录中文件的方法';s案例

Powershell 正在寻找根据扩展名删除目录中文件的方法';s案例,powershell,batch-file,cmd,Powershell,Batch File,Cmd,我希望你能帮我找到一个能大大简化我生活的工具。到目前为止,我还没有脚本知识。我不确定powershell或.bat中的哪一个最适合我的需要: 我有一个包含数千个小文件的文件夹,这些文件有各种扩展名。有时我需要删除所有扩展名为大写的文件,有时是小写的文件 我需要一个脚本,该脚本将在输入中询问我是否要删除大写或小写文件,然后将删除文件夹中扩展名为大写或小写的所有文件(基于输入) 我不知道从哪里开始。你能分享一些想法吗 感谢您的时间一种方法是使用-match正则表达式运算符。由于PowerShell运

我希望你能帮我找到一个能大大简化我生活的工具。到目前为止,我还没有脚本知识。我不确定powershell或.bat中的哪一个最适合我的需要:

我有一个包含数千个小文件的文件夹,这些文件有各种扩展名。有时我需要删除所有扩展名为大写的文件,有时是小写的文件

我需要一个脚本,该脚本将在输入中询问我是否要删除大写或小写文件,然后将删除文件夹中扩展名为大写或小写的所有文件(基于输入)

我不知道从哪里开始。你能分享一些想法吗


感谢您的时间

一种方法是使用
-match
正则表达式运算符。由于PowerShell运算符始终默认为不区分大小写的字符串比较,因此我们需要使用
c
对其进行限定,因此
-cmatch
。为了只匹配大写字母,我通常使用正则表达式类
\p{Lu}
Lu
代表“Letters,upper”):

现在您可以使用
删除项目
删除它们:

$allUppercase |Remove-Item -Force
如果您只希望扩展名使用小写字母,请测试
\p{Ll}

$allLowercase = Get-ChildItem -Path C:\path\to\folder\ |Where-Object {$_.Extension -cmatch '^.\p{Ll}+$'}

你的问题与Stackoverflow无关。请坐飞机。请阅读。另外,请阅读你为什么要回答这个明显离题的问题?老兄,你是我的英雄,这完全符合我的需要。我只需要研究如何提示用户输入,在其中加入一个条件,我就可以完成了。非常感谢:)@aschipfl它可能写得不太好,但肯定不是离题的。好吧,问题太广泛了,而且没有自己的研究;不管怎样,我们会看看是否会以接近票数的方式投票。。。
$allLowercase = Get-ChildItem -Path C:\path\to\folder\ |Where-Object {$_.Extension -cmatch '^.\p{Ll}+$'}