Инструмент командной строки для анализа дискового пространства на основе типов файлов

Инструмент командной строки для анализа дискового пространства на основе типов файлов

По сути, я ищу что-то вроде 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.

Связанный контент