Удалить папки с подстановочными знаками из пакетного файла Windows 7 - PullRequest
6 голосов
/ 05 февраля 2011
  1. Я знаю, что мы можем писать программы для этого.
  2. Я знаю, что мы можем написать другие скрипты (perl / vbscript / etc.) для этого.

Я ищу решение командной строки / пакетного файла для удаления всех папок, соответствующих sub _ * (например, sub_1, sub_2 ...) для удаления.rmdir или rd не поддерживает подстановочные знаки, и я не могу понять, как передать вывод команды dir sub _ * / ad на команду delete по одному,Любой синтаксис цикла и т. Д. Я могу использовать?

Ответы [ 2 ]

16 голосов
/ 05 февраля 2011
for /d %x in (sub_*) do rd /s /q "%x"

Вам нужно удвоить %, если используется в командном файле:

for /d %%x in (sub_*) do rd /s /q "%%x"

Не проверено, убедитесь, что сначала используете echo или что-то еще, что не сразу стирает каталоги;) ​​

1 голос
/ 06 ноября 2015

forfiles /P C:\where\my\dirs\at /M sub_* /C "cmd /c if @isdir==TRUE rmdir /s /q @file"

...