我希望您使用可以大大简化我生活的工具提供帮助。到目前为止,我还没有脚本知识。我不确定哪种Powershell或.bat最适合我的需求:
我有一个文件夹,其中包含数千个带有不同扩展名的小文件。有时我需要删除所有扩展名都用大写字母写的文件,有时是用小写字母写出来的。
我需要一个脚本,该脚本会在输入中询问我是否要删除大写或小写文件,然后删除文件夹中所有扩展名为大写或小写的文件(根据输入)。
我不知道从哪里开始。你能分享一些想法吗?
感谢您的时间
答案 0 :(得分:2)
一种方法是使用-match
正则表达式运算符。由于PowerShell运算符始终在区分大小写的字符串比较中默认使用区分大小写的,因此我们需要使用c
对其进行限定,因此必须-cmatch
进行限定。为了只匹配大写字母,我通常使用正则表达式类\p{Lu}
(Lu
代表“ L 字母, u pper”):
$allUppercase = Get-ChildItem -Path C:\path\to\folder\ |Where-Object {$_.Extension -cmatch '^.\p{Lu}+$'}
,现在您可以使用Remove-Item
删除它们:
$allUppercase |Remove-Item -Force
如果只想使用小写扩展名,请测试\p{Ll}
:
$allLowercase = Get-ChildItem -Path C:\path\to\folder\ |Where-Object {$_.Extension -cmatch '^.\p{Ll}+$'}