Удалить всё содержимое указанной папки
Ранее? мне подсказали (в ныне закрытой теме) такой код для subj'а:
Код:
For /F "delims=" %%A In ('Dir "D:\Test\*" /B') Do (R D /S /Q "D:\Test\%%A" 2>nul||Del /Q "D:\Test\%%A")
но оказалось, что он удаляет только файлы из папки D:\Test\ и изо всех вложенных в неё папок, но не сами вложенные папки.
Т.е. фактически этот код делает то же, что и
Код:
For /R "D:\Test" %%A In (*) Do (Del "%%A")
|
SergMarkow |
08-01-2014 23:20 2285128 |
Чем не устраивает команда DEL /q, если Вам нужно удалить все в папке?
|
SergMarkow, её неспособностью справиться с поставленной задачей: del удаляет цель со всем содержимым, а мне саму цель удалять не надо, удалить надо только её содержимое.
|
Iska, в том примере удаляются только папки внутри указанной папки, а мне надо удалить всё содержимое указанной папки, не удаляя саму эту папку.
|
Цитата:
Цитата iDrug
Iska, в том примере удаляются только папки внутри указанной папки »
|
И файлы.
Цитата:
Цитата iDrug
а мне надо удалить всё содержимое указанной папки, не удаляя саму эту папку. »
|
Именно так и делается.
Если быть совсем точным, то делается попытка удаления самой папки со всем её содержимым, включая все файлы и вложенные в неё папки («rmdir /s /q»). Но, поскольку перед этим сама папка делается текущей («pushd»), то всё содержимое папки удаляется, а на попытку удаления самой папки следует закономерный отказ в удалении.
Что у Вас не получается?
|
Iska, по описанию было похоже, что удаляются только папки, скрипт запускать не пробовал.
|
Время: 12:13.
© OSzone.net 2001-