Какие команды можно использовать (из командной строки), чтобы удалить все файлы и все подкаталоги из папки, но не удалить саму папку? В основном в конце удаления должна быть пустая папка.
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%