Желая найти на диске самые большие файлы, пользователи чаще всего прибегают к помощи сторонних утилит, а ведь эту операцию можно выполнить средствами самой Windows. Нет, не Проводника, его возможности в этом плане ограничены, а командной строки PowerShell. За вывод содержимого каталогов в PowerShell отвечает командлет Get-ChildItem (GCi), его то как раз мы и будем использовать.
При необходимости вы можете вывести список всех файлов на диске, но это вряд ли вам понадобится, ведь цель иная — найти именно самые большие файлы, а поэтому ограничимся для примера 20-ю объектами.
Запускаем консоль PowerShell и выполняем такую команду:
Get-ChildItem D:\ -r | sort -descending -property length | sеlect -first 20 name, Length
Разберем команду.
В первой ее части указано, что поиск нужно производить на диске D с применением рекурсии, последнюю задает ключ -r. Второй частью команды (sort) мы сортируем файлы по размеру, начиная с самого большого, наконец, третьей частью команды (sеlect) производим выборку, оставляя только первые 20 объектов. Параметр Length в данном случае выводит размер файлов в байтах.
Иметь дело с байтами не очень удобно, поэтому есть смысл тут же преобразовать их в мегабайты.
Для этого добавляем в конец цепочки команд такую строку:
@{Name="Мб";Expression={[Math]::round($_.length / 1MB, 2)}}
Если же после ключа name добавить еще ключ DirectoryName и всё это передать через прямой слеш командлету Out-GridView.
Сведения можно будет получить в виде удобочитаемой графической таблицы с указанием полного пути к каждому файлу.
В примере выше мы производили поиск на диске D, однако, если вы станете искать на системном томе, то более чем наверняка получите ошибку «Отказано в доступе по пути…».
Хотя сведения всё равно получите. Причина ошибки заключается в отсутствии прав доступа к некоторым системным папкам, она вылетит даже в том случае, даже если запустите PowerShell с правами администратора.
Чтобы сообщения об ошибках не портили вид, можете отключить их вывод, добавив к первой части команды сразу после ключа r ключ -ErrorAction SilentlyContinue.
И еще один маленький нюанс.
Если вы хотите включить в список объектов скрытые файлы, добавьте к первой части команды ключ -Force.
Вот, собственно и всё.
Может быть этот способ получения списка самых больших файлов и не очень удобен, зато не нужно лишний раз устанавливать на компьютер стороннее программное обеспечение.
Добавить комментарий