Задать вопрос
Lakika
@Lakika
Sicario

Как удалить массово папки весом меньше 1mb?

Подскажите пожалуйста, есть папка в которой тысячи папок
Мне нужно удалить папки в этой папке, которые весом меньше 1 мегабайта
Видел в интернете решения, но там только удаление файлов, а не в целом папки (Если она весит меньше ...)

Вот как выглядит, с удалением файла

@Echo Off
SetLocal EnableExtensions

Set Fldr=Z:\SomeFolder
For /R %Fldr% %%I In (*.*) Do If %%~zI LSS 1024 Del /F /Q "%%~I"
  • Вопрос задан
  • 389 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 1
DamianLewis
@DamianLewis
Давайте не будем все усложнять командной строкой или Power Shell, а поступим наглядно и просто, не боясь совершить ошибку.
1. Скачиваем бесплатную программу WizTree
2. Просканируем нужный раздел диска или через меню файл выберем только папку (F3). Сканирование всего диска занимает 1-3 секунды. Сканирование папки еще быстрее.
3. Нажимаем Сортировать по размеру и все папки рассортируются по размеру(по убыванию/по возрастанию)
Вот как это выглядит:
Скриншот
61afaa7d79af2629331012.png

4. Затем просто через Shift выбираем все папки меньше 1мб и в удаляем в один клик.

Весь процесс займет у вас минуту.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@res2001
Developer, ex-admin
Основная проблема - быстро узанать размер каталога. Стандартных средств cmd для этого нет.
Остается только делать рекурсивный обход каждого каталога и суммировать размеры каждого файла, как только сумарный размер превысит 1 Мб подсчет можно прекращать и пропускать каталог.
Размер конкретного файла можно получить из переменной цикла for /f с помощью модификатора %%~zi. Этот же модификатор действует и для нумерованных параметров процедур
Смотрите:
for /?
call /?
set /?
rmdir /?
Ответ написан
Комментировать
@kisaa
Я бы смотрел в сторону PowerShell:
woshub.com/powershell-get-folder-sizes
Ответ написан
Комментировать
hint000
@hint000
у админа три руки
Если это не задача, которую нужно выполнять регулярно, а разовая задача, то вручную делается буквально за несколько секунд (не считая времени, которое винда потратит на удаление и на подсчёт размера папок).

Запустите FAR manager, откройте нужную папку, включите сортировку по размеру, звёздочкой или плюсом выделите все файлы и папки (возможно, в настройках нужно включить выделение папок), нажмите F3. При этом будет подсчитан размер всех выделенных папок. Поскольку была включена сортировка по размеру, то останется только удержанием клавиши ins поправить выделение, так чтобы были выделены папки размером меньше 1 MB. Теперь удалить их через F8 или Del.

Догадываюсь, что аналогичный фокус можно провернуть и через Total Commander, но я никогда не был его фанатом и поэтому точно про него не скажу.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы