Инструмент командной строки для анализа дискового пространства на основе типов файлов
По сути, я ищу что-то вроде Windirstat, которое хорошо работает в командной строке и легко распространяется по сети.
Я пробовал sysinternals du (не могу исключить / включить типы файлов), diruse (ограниченный как du), cygwin du (слишком медленный). Я также перепробовал все графические инструменты, которые могу найти, и ни у одного из них нет интерфейса командной строки.
Любой скрытый драгоценный камень, которого я скучаю?
2 ответа
Если вы хотите / можете использовать инструменты Unix на своей машине с Windows (что, я думаю, так и есть, поскольку вы уже используете du), вы можете попробовать использовать findutils из cygwin в скрипте bash:
for filetype in doc xls jpg mov; do
combined=0
find /cygdrive/c -name "*.$filetype" -type f -print0 | xargs -0 du -k | \
(while read; do
current=$(echo $REPLY | awk '{print $1}'
combined=$(( $combined + $current ))
done)
echo "$filetype files use $combined KiB on C:"
done
NB - это примерно то, что я бы сделал; это не проверено.
Конечно, это можно сделать более эффективно, если вы хотите сделать это для каждого типа файла в системе. Для отдельных типов, вероятно, не будет намного лучше с выделенными инструментами, так как это должно быть настолько ограничено IO.