Утилита подсчета размера директорий
Добрый день!
При разработке или администрировании на ОС Windows раз в полгода, год, пару лет возникает задача почистить диск от накопившихся логов, временных файлов, устаревших дистрибутивов и т.п. мусора.
Меня все-таки "достала" необходимость вручную ходить по папкам, подпапкам и пытаться найти кто же все-таки занимает пространство. Так появилась утилита командной строки diskusage.
Как она работает:
-
Запускаем утилиту
diskusage.exe -path "C:/Temp; D:/" -limit 20
Перечисляем в path директории для сканирования через ";" и в limit (опциональный параметр) указываем количество директорий наибольшего размера, которые будут выведены в консоль.
- Получаем на выходе:
Start scanning Checking folders: [f:/temp] List of 20 max size folders: 1.| DIR: f:/temp | SIZE: 639.52 Gb 2.| DIR: f:/temp/NATURAL | SIZE: 584.60 Gb 3.| DIR: f:/temp/NATURAL/MDM | SIZE: 455.92 Gb 4.| DIR: f:/temp/NATURAL/MDM/LIB_CMP | SIZE: 226.99 Gb 5.| DIR: f:/temp/NATURAL/MDM/LIB_GB | SIZE: 95.61 Gb 6.| DIR: f:/temp/NATURAL/MDM/LIB_HF | SIZE: 65.51 Gb 7.| DIR: f:/temp/SPLOK | SIZE: 952.30 Mb ... 20. | | | Finish scanning Total time: 31.5670085s
Некоторые особенности работы:
- Сделано для windows, в unix наверняка достаточно написать одну строку bash, чтобы получить размеры директорий (напишите в комментариях — так ли это).
- Выбор максимальных n-директорий осуществляется среди всех директорий и поддиректорий, входящих в -path.
- Файлы в результаты не попадают! Только директории.
- Размерность в результатах (Kb, Mb, Gb, ...) выбирается динамически, исходя из размера директории. Внутри есть ограничение верхней границы размерности до Gb (то есть Tb в результатах вы не увидите), но когда-нибудь сделаю это входным параметром. Это важно, например, если вы заходите получить точные размеры директорий, тогда размерность должна быть указана в байтах.
- Для упрощения анализа результатов рекомендую сделать bat-файл с выводом результатов в txt-файлик. Подробности на странице проекта.
- Вывод в Go выполняется в unix-кодировке, поэтому смотреть результаты удобно в Notepad++ (пожалуй тоже надо переделать, но пока меня не напрягает, а вот если вам понадобится...)
Релиз для винды здесь.
Пишите отзывы — полезная штука или нет очень полезная?
Автор: ювелир