![]() |
Удаление файлов нулевого размера, а затем удаление пустых каталогов
Здравствуйте! Очень необходима помощь в написании простого скрипта удаления. Скрипт работает в папке, в которой он запущен. Глубина поиска и удаления желательно не менее 7. Вот алгоритм:
1. Удалить все файлы нулевого размера в каталогах и подкаталогах (проникать как можно глубже). 2. Удалить все пустые каталоги (точно так же проникать) 3. Конец Т.е. нужно удалить все файлы нулевого размера, которые вообще есть в каталогах и подкаталогах (все до единого). Затем просмотреть все до единого существующие каталоги и подкаталоги, и удалить пустые. Думаю, смысл понятен. Буду благодарен за помощь! |
forfiles возвращает в том числе и размер файла
для удаления пустых каталогов получаем полный список каталогов, сортируем в обратном порядке, каждый их них пытаемся удалить через rd - непустые он не удалит |
ilyadud, пробуйте:
Код:
@Echo Off |
El Sanchez, Я в восторге от Вашего решения. Но не понимаю, почему второй For нельзя было сделать проще
Код:
FOR /F "usebackq delims=" %%i IN (`Dir "%%A\*.*" /s /b /a:-d 2^>nul^`) DO If %%~zi==0 Del "%%i"&&Echo:Файл %%i удален |
Всем огромное спасибо! Скрипт проверил - вроде работает без ошибок
|
Цитата:
|
Время: 07:52. |
Время: 07:52.
© OSzone.net 2001-