如何用PowerShell删除不包含特定名称的文件?
删除文件夹中不包含'_1.mp4'的文件
你可以通过两种方式实现需求,核心思路是排除带有'_1.mp4'的压缩文件,只删除其余原文件:
方法一:直接使用-Exclude参数
用PowerShell的Remove-Item命令搭配-Exclude参数,直接排除目标文件:
Remove-Item -Path "E:\Desktop\test\tester\*" -Force -Exclude "*_1.mp4"
-Exclude "*_1.mp4":指定不删除文件名匹配*_1.mp4的文件-Force:强制删除只读等特殊属性的文件
方法二:用管道过滤(更灵活)
如果需要额外过滤条件(比如只删除MP4格式的原文件),可以用Get-ChildItem配合Where-Object筛选后再删除:
# 仅删除文件夹内不包含'_1.mp4'的MP4文件 Get-ChildItem -Path "E:\Desktop\test\tester\" -File -Filter "*.mp4" | Where-Object { $_.Name -notlike "*_1.mp4" } | Remove-Item -Force
Get-ChildItem -File:仅获取文件夹内的文件(不包含子文件夹)-Filter "*.mp4":只处理MP4格式文件,避免误删其他类型文件Where-Object { $_.Name -notlike "*_1.mp4" }:筛选出名字不包含'_1.mp4'的文件
注意事项
执行删除命令前,建议先去掉| Remove-Item -Force部分,单独运行前面的命令,确认列出的文件确实是你要删除的原文件,避免误删重要内容。
内容的提问来源于stack exchange,提问作者GerdyDuck
相关产品推荐
相关产品推荐

