Вы можете попробовать цикл 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"
)
)
Это также можно сделать в скрипте .bat, используя Powershell. Если вы уверены, что правильные файлы будут удалены, удалите -WhatIf
из командлета Remove-Item
.
powershell -NoProfile -Command ^
"Get-ChildItem -Recurse -Filter '*.jpg' -exclude 'abc.*','xyz.*' |" ^
"ForEach-Object { Remove-Item -Path $_ -WhatIf }"