Показать полную графическую версию : [решено] Удаление пустых каталогов и подкаталогов через CMD
Всем привет! Хотелось бы в определенном каталоге удалить все пустые каталоги и подкаталоги. данная команда for /d %%i in ("D:\1\*") do rd /q "%%i" 2>nul вычищает пустые каталоги на фиксированной глубине вложения папок. мне же необходимо наоборот, на не фиксированной глубине.
Foreigner
10-07-2011, 10:11
Andzzzz,
for /f "tokens=*" %%i in (' dir /b /s /ad "D:\1\" ') do 2>nul rd /q "%%i"
for /r "D:\1" /d %%i in (*) do 2>nul rd /q "%%i"
Foreigner,
все замечательно, но одно неудобное НО. в папке D:\1\ друг в друга вложены 6 пустых каталогов, при единичном запуске данного кода for /f "tokens=*" %%i in (' dir /b /s /ad "D:\1\" ') do 2>nul rd /q "%%i"
for /r "D:\1" /d %%i in (*) do 2>nul rd /q "%%i" удаляется только два пустых каталога. т.е. чтобы мне удалить все шесть пустых каталога, придется запускать код 3 раза. Немного неудобно.
Foreigner
10-07-2011, 10:43
Andzzzz,
удаляется только два пустых каталога.
Это просто два способа пройтись по вложенным каталогам.
Попробуй такой вариант:
@echo off
:again
for /f "tokens=*" %%i in (' dir /b /s /ad "D:\1" ') do 2>nul rd /q "%%i" && goto:again
все отлично, спасибо за оперативную помощь! ;)
for /d %%i in ("D:\1\*") do rd /q "%%i" 2>nul »
А как можно докрутить этот скрипт, что бы он при проверке условия не опускался ниже указанного каталога, и условием являлось не наличие/отсутствие файлов, а размер каталога?
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.