2

Мне нужно удалить все подпапки в дереве папок, которые соответствуют шаблону "изображения".
Я могу удалить все файлы, соответствующие шаблону, используя

del /s myfolder\images*.*

но это не работает для каталогов.
Я тоже попробовал с rmdir но безуспешно

2 ответа2

7

rmdir /s может быть тем, что вы хотите очистить поддерево, и, как сказала Флорис, это очень опасно.  Если я правильно понимаю ваш вопрос, вы сможете удалить myfolder\a\b\c\holiday_images , оставив myfolder\a\b\c\holiday_videos нетронутым.  Это должно делать то, что вы хотите:

for /d /r %i in (*image*) do @rmdir /s "%i"

Это встроенная функциональность Windows; не нужно ничего скачивать или устанавливать.

Несколько общих советов для запуска потенциально опасных команд, как это сделать

for /d /r %i in (*image*) do @echo rmdir /s "%i"
первый; это покажет вам, что он будет делать, но ничего не сделает.  После того, как вы убедитесь, что он делает то, что вы хотите, запустите его снова без echo .

Если вы хотите использовать эту команду в пакетном файле (скрипте), вы должны удвоить процентные символы; т.е.

for /d /r %%i in (*image*) do @rmdir /s "%%i"
-1

rm -rf myfolder/images будет удален без запроса, в противном случае вы можете перейти -ri для подтверждения каждого удаления.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .