2014-08-28 5 views
16

У меня есть каталог, как например:Batch команда, чтобы удалить все вложенные папки с определенным именем

D:\Movies 
D:\Movies\MovieTitle1\backdrops\ 
D:\Movies\MovieTitle2\backdrops\ 
D:\Movies\MovieTitle3\backdrops\ 
D:\Movies\MovieTitle4\backdrops\ 

Как я мог иметь пакетный файл удалить все папки с названием «» фонами? Я бы предпочел, чтобы он работал рекурсивно с диска D: \, если это было возможно.

ответ

29

Короткий ответ:

FOR /d /r . %d IN (backdrops) DO @IF EXIST "%d" rd /s /q "%d" 

Я получил ответ от одного из бесчисленных ответов на тот же вопрос на StackOverflow:

Command line tool to delete folder with a specified name recursively in Windows?

Эта команда не тестировалась, но Я действительно доверяю этому сайту, чтобы опубликовать этот ответ.

EDIT:

Как было предложено Alex in a comment, эта партия сценарий должен быть несложный:

D: 
FOR /d /r . %d IN (backdrops) DO @IF EXIST "%d" rd /s /q "%d" 
+2

вы хотели бы поместить этот файл в 'D: \', если вы хотите, чтобы это работать на 'D : \ 'или добавить' cd/d D: \ 'перед циклом' for/d/r' – Alex

+9

Чтобы использовать это в пакетном файле, вам нужно избежать символа '%', то есть заменить каждый '% d' с '%% d'. – Groo

+0

не работает для меня, попробовал (node_modules), но его не работает - поиск из проводника показывает hundrets в папках «node_modules» – dermoritz