Найти в Дзене
WinITPro.ru - Блог админа

Используем PowerShell чтобы быстро найти Топ-10 самых больших файлов на вашем диске

Когда система оповещает вас о том, что на диске заканчивается свободное пространство, первое что делает администратор – пытается найти все большие файлы, которые занимают больше всего места. Вы можете использовать для поиска больших файлов проводник Windows (есть несколько предопределённых шаблонов поиска по размеру), любимый файловый менеджер или сторонние утилиты. Однако все эти средства, в отличии от PowerShell, требует установки на компьютере. Рассмотрим пример быстрого поиска больших файлов на диске с помощью PowerShell.

Для получения списка файлов в определенном каталоге (включая подпапки) и их размеров можно использовать командлет Get-ChildItem. Командлет может искать файлы по всему диску, или в определенной папке (например в пользовательских профилях или любых других папках).

Выведем список 10 самых больших файлов на диске C:\:

Get-ChildItem c:\ -r| sort -descending -property length | select -first 10 name, Length

В зависимости от размера диска и количества файлов на нем, выполнение команды может занять некоторое время.

Ключ –r (Recurse) указывает, что необходимо рекурсивного обойти все вложенные обьекты (каталоги). Можно ограничить проверку определённым уровнем вложенности с помощью параметра –Depth.

Если не указывать путь, поиск будет выполнен по всем подкаталогам в текущем каталоге.

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

Совет. При доступе к некоторым каталогам даже с правами администратора, командлет может вернуть ошибку доступа:

Get-ChildItem : Отказано в доступе по пути "C:\Windows\CSC".
строка:1 знак:1
+ Get-ChildItem c:\ -r|sort -descending -property length | select -firs ...
+ ~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : PermissionDenied: (C:\Windows\CSC:String) [Get-ChildItem], UnauthorizedAccessException
+ FullyQualifiedErrorId : DirUnauthorizedAccessError,Microsoft.PowerShell.Commands.GetChildItemCommand

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

-2

Как вы видите, размер файлов отображается в байтах. Для удобства их можно преобразовать в мегабайты. Кроме того, можно вывести каталог, в котором хранится найденный файл:

Get-ChildItem c:\ -r -ErrorAction SilentlyContinue |sort -descending -property length | select -first 10 name, DirectoryName, @{Name="Мб";Expression={[Math]::round($_.length / 1MB, 2)}}

-3

Полученную табличку можно преобразовать в удобную графическую форму с помощью командлета Out-GridView:

Get-ChildItem c:\ -r|sort -descending -property length | select -first 10 name, DirectoryName, @{Name="Мб";Expression={[Math]::round($_.length / 1MB, 2)}} | Out-GridView

-4

Аналогичным образом вы можете найти все файлы, размер которых больше определенного значения, например, 200 Мб):

$size=200*1024*1024
GCi C:\ -recurse -ErrorAction SilentlyContinue | where-object {$_.length -gt $size} | Sort-Object length | ft fullname

Список файлов можно выгрузить в CSV файл так:

GCi C:\ -recurse | where-object {$_.length -gt $size} | Sort-Object length | ft fullname | Export-Csv c:\pc\LargeFiles_Report.csv

Источник

Что-то пошло не так, и нам не удалось загрузить комментарии. Попробуйте ещё раз
Рекомендуем почитать
Я отключил оптимизацию HyperOS по совету из интернета. Теперь мне хочется выбросить свой Xiaomi
Популярность и проблемность смартфонов Xiaomi привели к возникновению большого сообщества владельцев устройств китайского бренда. Одни люди постоянно находятся в поиске способов устранения ошибок нерадивых разработчиков оболочки, а другие, что-то где-то услышав, начинают считать себя экспертами, распространяя дезинформацию среди пользователей. Так, если у тебя тормозит Xiaomi, или с ним происходят иные неприятности, «инструктор» из интернета с высокой долей вероятности посоветует тебе отключить настройку оптимизации HyperOS...
Почему новый Microsoft Edit — настоящая находка для любителей простоты и что меня настораживает в будущем этого редактора
Иногда всё, что нужно, — минимализм. Раньше в мире текстовых редакторов таким эталоном был Блокнот — простой, быстрый, надёжный. Но Microsoft сделали шаг вперёд и создали Edit — новый лёгкий редактор, который делает Блокнот ещё проще и функциональнее. Если вы давно работаете с Windows, наверняка помните программу Edit, которая существует ещё с времён MS-DOS. Однако в Windows 11 этот 16-битный редактор перестал работать из-за отсутствия поддержки таких старых приложений. Сейчас, чтобы его запустить, нужен эмулятор — что противоречит идее быстрых и лёгких текстовых редакторов...
Шокирующая правда о резервном копировании: почему мой облачный бэкап оказался бесполезным
Я жил с ложным чувством безопасности благодаря облачному бэкапу, пока однажды все важные файлы не испарились. Иметь резервную копию бессмысленно, если вы не можете восстановить данные в нужный момент, но есть несколько простых способов избежать этой неприятной ситуации. Я столкнулся с двумя серьезными инцидентами потери данных, которые научили меня важным принципам управления резервными копиями и необходимости регулярных проверок. Первый случай связан с применением шифрования PGP для защиты моих файлов перед их загрузкой в облако...
Документы, вакансии и контакты