如何使用PowerShell删除文件名以20开头的.log与.bat文件?
当然可以用PowerShell实现这个需求!
作为PowerShell新手,这个操作其实很直白,我给你整理了几种简单可靠的写法,还附带新手友好的注意事项:
基础分步写法(适合理解逻辑)
先定义目标目录,再分别筛选两种后缀的文件:
# 替换成你实际要操作的目录路径 $targetDirectory = "D:\Your\Log\Folder" # 筛选并模拟删除以20开头的.log文件 Get-ChildItem -Path $targetDirectory -Filter "20*.log" -File | Remove-Item -WhatIf # 筛选并模拟删除以20开头的.bat文件 Get-ChildItem -Path $targetDirectory -Filter "20*.bat" -File | Remove-Item -WhatIf
关键参数解释
-Filter "20*.log":用通配符*匹配任意字符,精准定位文件名以20开头的.log文件-File:确保只处理文件,不会误操作子目录-WhatIf:非常重要的安全参数!它会输出将要删除的文件列表,但不会真的执行删除。等你确认列表里都是目标文件,再删掉-WhatIf执行真正的删除操作
合并简化写法(更高效)
用-Include参数一次性指定两种文件后缀,减少重复代码:
$targetDirectory = "D:\Your\Log\Folder" Get-ChildItem -Path $targetDirectory -Include "20*.log", "20*.bat" -File | Remove-Item -WhatIf
可选:递归删除子目录中的目标文件
如果需要连子目录里的符合条件文件一起删,加上-Recurse参数(谨慎使用,确认需要处理子目录再加):
Get-ChildItem -Path $targetDirectory -Include "20*.log", "20*.bat" -File -Recurse | Remove-Item -WhatIf
内容的提问来源于stack exchange,提问作者Lynne
相关产品推荐
相关产品推荐

