#windows #batch-file #command-line
Вопрос:
Я убегаю Win10
. У меня есть следующее в файле командной строки Windows bat
, и он отлично работает, удаляя все bin
папки (рекурсивно) в определенном дереве папок:
FOR /d /r . %%d IN (bin) DO @IF EXIST "%%d" rd /s /q "%%d"
Но теперь есть 1 bin
папка, которую необходимо исключить из удаления. Предположим, что его родительская папка имеет имя XYZ
. Как я мог бы запустить тот же цикл, но исключить удаление bin
имени родительской bin
папки, которую я хочу исключить XYZ
?
Комментарии:
1. Непроверенные:
FOR /F "delims=" %%G IN ('dir /ad /b /s ^|findstr /ELIC:"bin" ^|findstr /ELIVC:"xyzbin"') DO rd /s /q "%%G"
2.
for /D /R %%d in (bin) do if exist "%%~d" for /D %%p in ("%%~DPd.") do if /I not "%%~NXp"=="xyz" do rd /S /Q "%%~d"
?3. Сквашмен: твой сработал идеально. Спасибо. Можете ли вы опубликовать это в качестве ответа? aschipfl: ваш ничего не удаляет.