6

Есть ли переключатель для команды dir который также указывает размер каталога?

На этой странице написано:

Dir также отображает общее количество файлов и каталогов в списке, их совокупный размер и свободное место (в байтах), остающееся на диске.

Но это не указывает, как! Любая помощь приветствуется.

Я не ищу пакетные сценарии, но только для одной строки команды.

4 ответа4

6

Попробуйте dir /s /a directory-name . Вы увидите общее количество байтов во 2-й до последней строки. Флаг /a указывает, чтобы он включал в подсчет любые системные или скрытые файлы.

3

Если вы используете Windows Vista или более позднюю версию, она будет поставляться с PowerShell. Затем вы можете запустить эту команду прямо из командной строки:

powershell -c "Get-ChildItem -Recurse 'path_to_dir' | Measure-Object -Property Length -Sum"

Sum будет размером в байтах.

Вы можете загрузить и установить PowerShell для некоторых более ранних версий Windows. Кроме того, я настоятельно рекомендую перейти на PowerShell или POSIX. Командная строка Windows (cmd.exe) подходит только для более простых операций; помимо этого это может стать ужасно сложным. Особенно, если вы хотите однострочники.

1

Отличным справочником по командам dos/nt является http://ss64.com/ ; иногда technet лучше, но ss64 также внизу перечислит другие связанные методы для выполнения подобных действий. то есть: команды для конкретных результатов "DIRUSE", а иногда даже равные команды Powershell.

Кстати, в проекте gnuwin32 есть много основных командных утилит, доступных в мире nix, и обычно есть одна, прямо нацеленная на выполнение того, что нужно делать ... в данном случае команда du , где du -b выведет одинаковый размер вывода поскольку dir /A /S и du -h делают его читаемым человеком. :)

Надеюсь, это поможет.

0

Microsoft предоставляет исполняемый файл du, который вы можете загрузить.

https://docs.microsoft.com/en-us/sysinternals/downloads/du

Извлеките исполняемый файл из вашей директории Windows, тогда, например, здесь будет указан размер всех каталогов пользователя:

C:\Users>du64 -l 1 *

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .