如何删除带有cmd批处理的具有特定扩展名的所有文件,不包括2个特定单词?视窗

时间:2018-09-09 23:37:25

标签: windows batch-file cmd

我想批量删除Windows中文件夹(*.jpg和其子文件夹中所有扩展名为test的文件,除了两个文件,例如abc.jpg和{{1} }在不同的文件夹中多次出现。

我尝试过

xyz.jpg

但我失败了。

有人可以帮助我吗?谢谢

1 个答案:

答案 0 :(得分:0)

您可以尝试进行FOR循环,并检查文件名是否为不应删除的文件名。如果您确信将删除正确的文件,请从echo命令中删除DEL

FOR /F "delims=" %%f IN ('DIR /S /B "C:\src\t\*.jpg"') DO (
    IF NOT "%%~nf" == "abc" IF NOT "%%~nf" == "xyz" (
        echo DEL "%%~f"
    )
)

这也可以使用Powershell在.bat文件脚本中完成。如果您确信将删除正确的文件,请从-WhatIf cmdlet中删除Remove-Item

powershell -NoProfile -Command ^
    "Get-ChildItem -Recurse -Filter '*.jpg' -exclude 'abc.*','xyz.*' |" ^
        "ForEach-Object { Remove-Item -Path $_ -WhatIf }"
相关问题