Какие папки занимают ваш диск? Узнайте из этого руководства по Windows.

Если вы хотите выяснить, какие папки занимают место на вашем диске, вы можете проверить размер папки, чтобы определить, что перегружает ваш диск. Проверка размера папки также полезна, если вам нужно переместить большую папку на USB-накопитель или в облачное хранилище. Простой способ сделать это в Windows — использовать проводник и открыть диалоговое окно свойств папки.

Однако File Explorer может медленно определять размер большой папки. И не идеально, если вы хотите управлять файлами и папками на нескольких компьютерах в организации. Чтобы исправить это, вы можете использовать PowerShell для быстрого расчета размеров папок в Windows.

Как рассчитать размер папки с помощью PowerShell в Windows

Чтобы вычислить размер папки, вам потребуется использовать два командлета PowerShell, Get-ChildItem и Measure-Object, за которыми следуют свойство Length и параметр Sum.

Командлет Get-ChildItem позволяет получить информацию из указанного каталога и его подкаталогов. Командлет Measure-Object и связанные свойства и параметры вычисляют сумму свойств длины для элементов, возвращаемых командлетом Get-ChildItem (псевдоним «cgi»).

instagram viewer

Если вы новичок в PowerShell, вы можете прочитать наше объяснение на необходимые командлеты PowerShell чтобы понять основы PowerShell.

Теперь, когда вы знакомы с командами PowerShell, вот как их использовать для получения папок любого размера.

  1. нажмите Победить ключ и тип пауэршелл.
  2. Далее щелкните правой кнопкой мыши Windows PowerShell и выберите Запустить от имени администратора. Нажмите Да если будет предложено Контроль учетных записей пользователей.
  3. В окне PowerShell введите следующую команду:
     Get-ChildItem FolderPath | Measure-Object -Property Length -sum
  4. В приведенной выше команде замените Путь к папке с путем к каталогу, в котором сохранена ваша папка. Например, если вы хотите рассчитать размер папки Download, расположенной в Э:\ диск, то полная команда будет выглядеть так:
    Get-ChildItem E:\Download | Measure-Object -Property Length -sum
  5. Возврат покажет количество элементов в папке и ее размер в байтах. Вам нужно разделить общую сумму на 1024 чтобы получить размер в КБ (килобайт). Разделите это на 1024 еще раз, чтобы получить размер в МБ (мегабайты) и так далее.

Кроме того, вы можете использовать свойство .sum, чтобы получить общий размер и разделить его на 1 миллион или миллиард, чтобы преобразовать его в мегабайты или гигабайты.

Например, если вы хотите узнать значение в гигабайтах (МБ), введите следующую команду и нажмите Входить:

(gci E:\Download | measure Length -s).sum / 1Mb

Точно так же заменить 1Мб с 1Гб чтобы получить размер папки в гигабайтах.

(gci E:\Download | measure Length -s).sum / 1Gb

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

Например, чтобы узнать, сколько места занимают изображения в папке, используйте следующую команду:

(gci E:\download *.jpg | measure Length -s).sum / 1Mb 

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

Как получить размер подпапки с помощью PowerShell

Приведенная выше команда рассчитает только размер вашего основного каталога или папки. Чтобы вычислить общий размер файлов в указанном каталоге и его подкаталогах, вам нужно добавить -Рекурсия параметр вышеуказанной команды. Кроме того, мы будем использовать параметр -force для доступа к скрытым и системным файлам.

Например, чтобы получить общий размер вашего каталога C:\Users и его подкаталогов, включая скрытые файлы, команда PowerShell будет выглядеть примерно так:

((gci -force c:\Users -Recurse -ErrorAction SilentlyContinue| measure Length -s).sum / 1Gb) 

Вывод в этом экземпляре показывает примерно 54 ГБ. как общий размер папки c:\users. В приведенной выше команде параметр -ErrorAction SilentlyContinue используется для подавления любых сообщений об ошибках, которые могут появиться во время процесса.

Как получить размер подпапки в формате таблицы с помощью PowerShell

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

Чтобы запустить этот скрипт, вы можете использовать PowerShell ISE. Вот как это сделать:

  1. нажмите Выигрышный ключ и введите PowerShell ISE. Нажмите на Windows PowerShell ISE из результатов поиска.
  2. Затем скопируйте и вставьте следующую команду в консоль PowerShell ISE. Обязательно измените каталог с c:\ на предпочитаемый вами каталог.
     $targetfolder = 'C:\'
    $dataColl = Get-ChildItem -Force $targetfolder -Directory -ErrorAction SilentlyContinue | ForEach-Object {
    $len = Get-ChildItem -Recurse -Force $_.FullName -File -ErrorAction SilentlyContinue | Measure-Object -Property Length -Sum | Select-Object -ExpandProperty Sum
    $foldername = $_.FullName
    $foldersize = '{0:N2} GB' -f ($len / 1Gb)
    [PSCustomObject]@{
    foldername = $foldername
    foldersizeGb = $foldersize
    }
    }
    $dataColl | Out-GridView -Title "Size of Subdirectories in $targetfolder"
  3. Далее нажмите Запустить скрипт или нажмите F5 и дождитесь выполнения скрипта. В зависимости от размера папки вы увидите значок "Размер подкаталогов" диалоговое окно со списком всех подкаталогов с указанием их размера.

В дополнение к этому вы можете использовать операторы сравнения PowerShell для фильтрации результатов. Например, чтобы получить размер файла для папок, созданных в период с июня 2023 г. по июль 2023 г., вы можете использовать следующую команду:

(gci -force E:\Download – Recurse -ErrorAction SilentlyContinue |? {$_.CreationTime -gt '01/23/23' -AND $_.CreationTime -lt '02/23/23'}| measure Length -s).sum / 1Gb

В приведенной выше команде "?" это псевдоним для Где-объект командлет, -гт, -И, -Ит являются операторами сравнения, и Время создания является условием. Команда проверяет, попадает ли CreationTime файлов в подкаталоге в указанный диапазон дат, и показывает выходные данные только в том случае, если условие выполнено. Если вы получили сообщение об ошибке, убедитесь, что формат даты и времени в команде соответствует формату системы, и повторите попытку.

Получить размер папки и подпапки с помощью PowerShell

Проводник в Windows может помочь вам рассчитать размер любой папки и файла. Однако, если вы работаете с несколькими большими папками или в организации с сотнями компьютеров для управления, использование PowerShell может помочь вам выполнять задачи быстрее.

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