Как удалить содержимое папки через командную консоль Windows

 

Бывает, что нужно перед выполнением (или в процессе выполнения) *.bat файла очистить одну или несколько папок. Можно, конечно, хардкодом прописать имена файлов, которые нужно удалить, но это означает загнать себя в угол: чуть что поменяется в именах - придется править скрипт. Ну и к тому же далеко не всегда содержимое папки известно заранее. Посему выходит, что лучше пользоваться каким-то универсальным скриптом, который бы брал имя нашей папки и вычищал ее автоматически.

 

Так, для удаления папок пропишем в .bat файл следующее

 

dir target\ /ad /s /b /od > temp_file.tmp
for /F %%i in (temp_file.tmp) do rmdir "%%i" /S /q
del temp_file.tmp

 

Здесь скрипт запишет во временный файл temp_file.tmp список всех директорий в папке target. Затем пробежится по записям в файле и удалит соответствующие папки. А потом удалит временный файл.

 

Если нужно удалить только файлы, используем этот скрипт:


dir target\ /a-d /s /b /od > temp_file.tmp
for /F %%i in (temp_file.tmp) do del "%%i"
del temp_file.tmp

 

Действует аналогично обработчику папок.

Теги: 
Категория: 
Была ли статья полезна: 

Комментарии

блиин чуваак неужели нельзя так: del target\*

Отчего же нельзя, можно. Этой командой тоже можно удалить все вложенные файлы в каталоге target, но не папки.

Добавить комментарий

HTML

  • Разрешённые HTML-теги: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd> <pre> <p>
  • Строки и параграфы переносятся автоматически.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Поместите примеры вашего исходного кода в теги <code>...</code> or <source>...</source> и он будет красиво отформатирован.

Plain text

  • Поместите примеры вашего исходного кода в теги <code>...</code> or <source>...</source> и он будет красиво отформатирован.
  • Строки и параграфы переносятся автоматически.
  • Разрешённые HTML-теги: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd> <code> <source>
CAPTCHA
Пожалуйста, подтвердите, что вы человек.