Windows 7 очищает весь каталог из командной строки - PullRequest
4 голосов
/ 05 мая 2011

Я запускаю командный файл, который развертывает файл war в определенный каталог.Однако я хочу очистить этот каталог перед его развертыванием, рекурсивно.

Я обнаружил этот сценарий, который должен удалить все содержимое каталога, включая папки и файлы, но я получаю эту ошибку: "%% i неожиданнона этот раз. "

FOR /D %%i IN ("C:/Program Files (x86)/Apache Software Foundation/Tomcat 6.0/abtapps/ROOT/*") DO RD /S /Q "%%i" DEL /Q "C:/Program Files (x86)/Apache Software Foundation/Tomcat 6.0/abtapps/ROOT/*.*"

Мне просто нужен простой способ рекурсивного опустошения моего каталога ROOT, исправив сценарий выше или другим способом.Должны быть в состоянии сделать это из командного файла.

Я использую Windows 7.

РЕШЕНИЕ

rmdir ROOT /s /q
mkdir ROOT

Ответы [ 3 ]

9 голосов
/ 05 мая 2011

Вы должны использовать rmdir / S.Проверьте эту ссылку

4 голосов
/ 05 мая 2011

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

CD "C:/Program Files (x86)/Apache Software Foundation/Tomcat 6.0/abtapps/ROOT" && FOR /D %i IN ("*") DO RD /S /Q "%i" && DEL /Q *.*  

Несколько замечаний.
При запуске из командной строки вы используете только один%.удваивается для командных файлов.
&& - для запуска нескольких команд в одной строке.
* && особенно важны в этом случае, поскольку вы не хотите, чтобы del / q . запускаласьесли произойдет сбой компакт-диска, вы удалите содержимое каталога, в котором вы когда-либо начинали.

2 голосов
/ 29 января 2015

Попробуйте это:

forfiles / p "папка" / s / c "cmd / c rd / q @ path

замените "папка" на имя вашей папки или букву диска

пример: forfiles / p f: / s / c "cmd / c rd / q @ path

Это будет проходить через все подпапки и удалять только пустые папки. Если вы используете его в командной строке, вы получите сообщения об ошибках для непустых папок. Если вы поместите его в пакетный скрипт, его запуск займет некоторое время, в зависимости от того, сколько у вас папок.

...