По сути, я ищу что-то вроде Windirstat, которое хорошо работает в командной строке и легко распространяется по сети.
Я пробовал sysinternals du (не могу исключать / включать типы файлов), diruse (ограничен, как du), cygwin du (слишком медленно). Я также перепробовал все графические инструменты, которые смог найти, и ни у одного из них нет интерфейса командной строки.
Какие-нибудь скрытые драгоценности, которые мне не хватает?
я обнаружил Ксинорбис. Это кажется блестящим.
Если вы хотите / можете переносить инструменты 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 - это примерно то, что я бы сделал; это не проверено.
Конечно, это можно было бы сделать более эффективно, если бы вы хотели сделать это для каждого типа файлов в системе. Для одиночных типов, вероятно, не станет намного лучше с выделенными инструментами, поскольку это должно быть настолько привязано к вводу-выводу.