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

Мы и наши партнеры используем файлы cookie для хранения и/или доступа к информации на устройстве. Мы и наши партнеры используем данные для персонализированной рекламы и контента, измерения рекламы и контента, понимания аудитории и разработки продуктов. Примером обрабатываемых данных может быть уникальный идентификатор, хранящийся в файле cookie. Некоторые из наших партнеров могут обрабатывать ваши данные в рамках своих законных деловых интересов, не спрашивая согласия. Чтобы просмотреть цели, в которых, по их мнению, они имеют законный интерес, или возразить против этой обработки данных, используйте ссылку со списком поставщиков ниже. Предоставленное согласие будет использоваться только для обработки данных, поступающих с этого веб-сайта. Если вы хотите изменить свои настройки или отозвать согласие в любое время, ссылка для этого находится в нашей политике конфиденциальности, доступной на нашей домашней странице.

Использование File Explorer — это один из способов узнать размер папки, но получение точного размера может занять некоторое время, особенно если это

Проверить размер элемента или папки довольно просто на всех компьютерах с Windows. Просто щелкните правой кнопкой мыши каталог/элемент, выберите «Свойства», и перед вами появится размер. Правильный?

Не всем так повезло, как вам. Если размер элемента значительно больше, скажем, больше 100 ГБ, может потребоваться некоторое время для Характеристики окно, чтобы окончательно заполнить размер элемента. Наверняка должен быть более быстрый способ проверить размер папки.

Вам может понадобиться размер папки, чтобы вы могли оценить время, необходимое для ее перемещения или освободить место на жестком диске. По какой-либо причине вы можете мгновенно получить размер папки/каталога, используя Windows PowerShell.

В этой статье показаны различные командлеты и способы использования их переключателей для почти мгновенного определения размера папки на вашем ПК с помощью PowerShell.

У нас есть отдельное руководство о том, как получить размеры папок с помощью File Explorer и сторонних приложений.

Оглавление

  • Команды для получения размера папки в PowerShell
  • Получить размер папки с помощью PowerShell
  • Получить размеры папок и подпапок с помощью PowerShell
  • Еда на вынос

Команды для получения размера папки в PowerShell

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

  • Команда: Get-ChildItem

    Псевдоним: gci

    Псевдоним — это альтернативное имя, которое вы можете использовать для команды, поэтому вам не придется каждый раз вводить всю команду.

    Подробности: Эта команда получает информацию из одного или указанных каталогов, включая подкаталоги. Однако он не отображает пустые каталоги.

  • Команда: Объект измерения

    Псевдоним: мера

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

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

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

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

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

Давайте теперь продолжим пример проверки размера папки «D:\iTechtics\ISOs», которая есть на нашем ПК. Обратите внимание, что вы должны заменить [Путь к папке] с полным путем к папке/каталогу, для которого вы хотите получить размер.

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

Get-ChildItem [PathToFolder] | Измерение-Объект-Свойство Длина-сумма
Получить размер папки с помощью PowerShell в байтах
Получить размер папки с помощью PowerShell в байтах

В поле «Сумма» отобразится размер папки в байтах, как на изображении выше. Приблизительный размер элементов внутри папки «ISO» составляет 83 ГБ.

Примечание: Размер в байтах нужно разделить на 1024, чтобы получить размер в килобайтах, затем еще на 1024 для мегабайт, а затем еще на 1024 для гигабайт. Однако вам не нужно выполнять этот расчет, поскольку вы можете получить ответ непосредственно в мегабайтах или гигабайтах (обсуждается ниже).

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

  • Для МБ:

    (gci [PathToFolder] | длина измерения -s).sum / 1Mb
    Получить размер папки с помощью PowerShell в МБ
    Получить размер папки с помощью PowerShell в МБ
  • Для ГБ:

    (gci [PathToFolder] | длина измерения -s).sum / 1Gb
    Получить размер папки с помощью PowerShell в ГБ
    Получить размер папки с помощью PowerShell в ГБ

Как вы можете видеть на изображениях выше, размер в МБ и ГБ неоднозначен для понимания с первого взгляда из-за того, что размер указан во многих десятичных знаках. Вы можете округлить результат команды, используя следующий командлет, заменив «Икс” с количеством знаков после запятой, до которого вы хотите округлить свой ответ.

Примечание: При необходимости замените «GB» и «MB».

"{0:NX} ГБ" -f ((gci [PathToFolder] | длина измерения -s).sum / 1 ГБ)
Получите размер папки, округленный до десятичного числа, с помощью PowerShell
Получите размер папки, округленный до десятичного числа, с помощью PowerShell

Кроме того, вы также можете получить размер всех элементов внутри папки, имеющей тот же тип/расширение файла. Для этой цели можно использовать этот синтаксис команды, где будет отображаться размер файла всех элементов с расширением «.ISO»:

(gci [PathToFolder] *.iso | длина измерения -s).sum / 1Gb
Получить размер элементов определенного типа файла с помощью PowerShell
Получить размер элементов определенного типа файла с помощью PowerShell

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

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

Чтобы получить размер элементов внутри подпапок, вы должны использовать «-Рекурсияпараметр. Это используется в догадке с «-ErrorAction молча продолжить», чтобы обойти ошибки доступа к каталогу, такие как «Отказано в доступе» и т. д.

Вот два примера использования «-Рекурсия», чтобы получить размер родительского каталога, а также подкаталогов:

(gci [PathToFolder] –Recurse -ErrorAction SilentlyContinue | длина измерения -s).sum / 1Gb. "{0:NX} GB" -f ((gci –force [PathToFolder] –Recurse -ErrorAction SilentlyContinue| мера длины -s).sum / 1Гб)
Получить размеры папок и вложенных папок с помощью параметра Recurse в PowerShell
Получить размеры папок и подпапок с помощью параметра -Recurse в PowerShell

Обратите внимание, что этот командлет также включает размеры любых скрытые элементы.

Помимо определения размера родительской и дочерней папок, вы также можете применять фильтры. Например, вы можете найти размер элементов, созданных в определенный день, определенный месяц или определенный год. Они определяются путем ввода дат начала и окончания, которые соответственно определяются «-gt” (больше) и “-lt” (меньше чем) параметры.

Вот синтаксис для получения размера папки с подпапками, созданной в апреле 2022 года:

Примечание: Формат даты: ММ/ДД/ГГ.

(gci -force [PathToFolder] –Recurse -ErrorAction SilentlyContinue |? {$_.CreationTime -gt ‘1/4/22’ -AND $_.CreationTime -lt ‘30/4/22’}| измерить длину -s).sum / 1Gb
Получить размеры папок и подпапок с временным фильтром с помощью PowerShell
Получите размеры папок и подпапок с временным фильтром с помощью PowerShell

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

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

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

$targetfolder='D:\' $dataColl = @() gci -force $targetfolder -ErrorAction SilentlyContinue |? { $_ -is [io.directoryinfo] } | % { $len = 0. gci -recurse -force $_.fullname -ErrorAction SilentlyContinue | % {$len += $_.длина} $foldername = $_.полное имя. $foldersize= '{0:N2}' -f ($len / 1Gb) $dataObject = новый объект PSObject. Add-Member -inputObject $dataObject -memberType NoteProperty -name «имя папки» -value $foldername. Add-Member -inputObject $dataObject -memberType NoteProperty -name «foldersizeGb» -value $foldersize. $dataColl += $dataObject. } $ dataColl | Out-GridView -Title «Размер всех подкаталогов на диске D»
Получить все размеры папок подкаталогов с помощью сценария PowerShell
Получить все размеры папок подкаталогов с помощью сценария PowerShell

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

Еда на вынос

Независимо от того, насколько велик файл или папка, с помощью PowerShell вы можете мгновенно определить их размер и спланировать заранее.

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

Эти методы особенно полезны, если вы хотите определить размер базы данных перед миграцией, резервным копированием сайта или просто хотите освободить место на жестком диске.

Последнее сообщение в блоге

Как использовать историю PowerShell на нескольких устройствах
September 17, 2023

Мы и наши партнеры используем файлы cookie для хранения и/или доступа к информации на устройстве. Мы и наши партнеры используем данные для персонал...

Как установить и использовать GitHub PowerShell Copilot с помощью модуля PowerShell
September 18, 2023

Ключевые моментыPowerShell Copilot позволяет быстро генерировать код, запрашивая языковую модель GPT-4.PowerShell Coplit использует API, которые тр...

Загрузите PowerShell 7.3.9 и 7.2.16 LTS (автономные установщики)
October 27, 2023

Windows PowerShell 7.3.9 и PowerShell 7.2.16 ЛТС теперь доступны для скачивания. Эти выпуски включают незначительные улучшения сборки и упаковки. В...