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