2

Какие команды можно использовать (из командной строки), чтобы удалить все файлы и все подкаталоги из папки, но не удалить саму папку? В основном в конце удаления должна быть пустая папка.

2 ответа2

10
cd <foldername>
del *.*

удалит файлы. Вам нужно будет сделать

rmdir /s <subfolder>

для каждой подпапки.

Обновить

Попробуйте это в командном файле:

@echo off
cd "%1"
del *.* /y
for /d %%i in (*) do rmdir /s /q "%%i" 

Назовите это что-то вроде EmptyDir.bat. Затем вы можете ввести:

emptydir <dirname>

и он удалит файлы и папку в этой папке, но оставит папку там.

0

$> wipe.bat myExampleFolder

rmdir /s $1
mkdir $1    

С этим решением вы можете указать относительно текущей папки или даже абсолютные пути.

Будьте уверены, чтобы быть в курсе опасностей. Т.е. если папка, которую вы выбрали для удаления, не существует. (Вот почему, например, cd <targetdir>| del *.* Может быть довольно опасным ... Если вы ищете другие решения, то current-directory-restore может быть вашим другом:

@set OLDDIR=%CD%
cd $1
echo do stuff...
@cd /d %OLDDIR%

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .