Ищем на диске самые большие файлы с помощью PowerShell

Желая найти на диске самые большие файлы, пользователи чаще всего прибегают к помощи сторонних утилит, а ведь эту операцию можно выполнить средствами самой Windows. Нет, не Проводника, его возможности в этом плане ограничены, а командной строки PowerShell. За вывод содержимого каталогов в PowerShell отвечает командлет Get-ChildItem (GCi), его то как раз мы и будем использовать.

При необходимости вы можете вывести список всех файлов на диске, но это вряд ли вам понадобится, ведь цель иная — найти именно самые большие файлы, а поэтому ограничимся для примера 20-ю объектами.

Запускаем консоль PowerShell и выполняем такую команду:

Get-ChildItem D:\ -r | sort -descending -property length | sеlect -first 20 name, Length

PowerShell

Разберем команду.

В первой ее части указано, что поиск нужно производить на диске D с применением рекурсии, последнюю задает ключ -r. Второй частью команды (sort) мы сортируем файлы по размеру, начиная с самого большого, наконец, третьей частью команды (sеlect) производим выборку, оставляя только первые 20 объектов. Параметр Length в данном случае выводит размер файлов в байтах.

Иметь дело с байтами не очень удобно, поэтому есть смысл тут же преобразовать их в мегабайты.

Для этого добавляем в конец цепочки команд такую строку:

@{Name="Мб";Expression={[Math]::round($_.length / 1MB, 2)}}

Преобразовать в мегабайты

Если же после ключа name добавить еще ключ DirectoryName и всё это передать через прямой слеш командлету Out-GridView.

Out-GridView

Сведения можно будет получить в виде удобочитаемой графической таблицы с указанием полного пути к каждому файлу.

Удобочитаемая графическая таблица

В примере выше мы производили поиск на диске D, однако, если вы станете искать на системном томе, то более чем наверняка получите ошибку «Отказано в доступе по пути…».

Отказано в доступе по пути…

Хотя сведения всё равно получите. Причина ошибки заключается в отсутствии прав доступа к некоторым системным папкам, она вылетит даже в том случае, даже если запустите PowerShell с правами администратора.

Чтобы сообщения об ошибках не портили вид, можете отключить их вывод, добавив к первой части команды сразу после ключа r ключ -ErrorAction SilentlyContinue.

ErrorAction

И еще один маленький нюанс.

Если вы хотите включить в список объектов скрытые файлы, добавьте к первой части команды ключ -Force.

Вот, собственно и всё.

Может быть этот способ получения списка самых больших файлов и не очень удобен, зато не нужно лишний раз устанавливать на компьютер стороннее программное обеспечение.

Оцените Статью:

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *