Используйте функциональность "rmdir", но сохраняйте указанную директорию - PullRequest
3 голосов
/ 31 августа 2011

Я бы хотел функциональность rmdir /s, но мне нужно сохранить указанный каталог.rmdir /s удаляет все файлы и подкаталоги в дополнение к указанному каталогу.

Я также пытался использовать del /s, но в моем каталоге остались пустые папки.Мне также нужно удалить эти папки.

Любое руководство о том, как я могу это сделать?

Ответы [ 2 ]

7 голосов
/ 01 сентября 2011

Самым простым способом было бы изменить каталог на указанный каталог и вызвать команду rd в "."каталог.Например:

cd toYourDirectory (or pushd toYourDirectory)
rd /q /s . 2> nul
  • / q - гарантирует, что вам не будет предложено
  • / s - делать подпапки, файлы и т. Д.
  • the "."- подразумевает CURRENT каталог
  • 2> nul - гарантирует, что не сообщит об ошибке, когда команда rd попытается удалить себя (что вам нужно)
1 голос
/ 31 августа 2011

<3 для петель </p>

FOR /F "USEBACKQ tokens=*" %%F IN (`dir /b /a:d /s "C:\top\directory\" ^| FIND /v /i "C:\directory\to\omit"`) DO (
 rmdir /s "%%F"
)

и если вы хотите нанести опасный удар, используйте переключатель /q с / 1005 * 0.o

Допустим, вы хотите выполнить remdir /s на C:\Documents and Settings\Mechaflash\, ОДНАКО вы хотите сохранить папку .\Mechaflash (пусто)

FOR /F "USEBACKQ tokens=*" %%F IN (`dir /b /a:d /s "C:\Documents and Settings\Mechaflash\" ^| FIND /v /i "C:\Documents and Settings\Mechaflash\"`) DO (
 rmdir /s "%%F"
)
DEL /Q /F "C:\Documents and Settings\Mechaflash\*"
...