Как узнать размер папки в Windows 10?
Это наверное самый глупый вопрос на этой платформе, но всё же:
как узнать реальный размер папки, который она занимает на диске?
Потому что Проводник, показывает не правильный размер.
Отслеживать
user262779
задан 3 мар 2019 в 13:29
57 2 2 бронзовых знака
Открыть свойства папки.
3 мар 2019 в 13:33
А что значит неправильный? Какой по-вашему правильный?
3 мар 2019 в 15:15
давняя проблема windows 10. обратите внимание на количество комментариев: answers.microsoft.com/ru-ru/windows/forum/windows_10-files/…
4 мар 2019 в 0:57
> Это наверное самый глупый вопрос на этой платформе.. Нет, напротив проблема размера папки стара как Windows 10 и до сей поры не решена (см. картинку; размер всего диска — 2Тбайт)  Что делать не знаю. Наверное, ждать выхода Windows12
TreeSize Free
О программе
Утилита TreeSize Free показывает размер папок и файлов, помогая определить куда делось свободное дисковое пространство на ваших дисках. Программа поддерживает сканирование подключенных к ПК мобильных устройств, сетевых носителей и облачных хранилищ
Что нового
- Теперь в TreeSize Free можно запускать обновления из самого приложения. Это означает, что новые версии не нужно скачивать и устанавливать вручную.
- Исправлена ошибка, которая не позволяла устанавливать главное окно меньше стандартного размера.
- В редких случаях при отображении всплывающих окон могла возникать ошибка. Эта проблема была исправлена.
- Полный список изменений (английский, официальный сайт).
Системные требования
Поддерживаемые ОС (новая версия)
- Windows 11 (64-bit)
- Windows 10 (64-bit)
- Windows 8 / 8.1 (64-bit)
- Windows Server 2012 / 2012 R2 / 2016 / 2019 / 2022 (64-bit)
Прошлые версии
- Windows 10 / 8.1 / 8 (32-bit) и Windows Server (32-bit) – версия 4.5.3
- Windows 7 / Vista (32 и 64-bit) – версия 4.4.2
- Windows XP – версия 3.4.5
- Windows 2000 – версия 2.4
- Windows 9x/ME – версия 2.1
Полезные ссылки
- Как включить режим «Максимальная производительность» в Windows 10
- Как выявить неисправность оперативной памяти на компьютере Windows 10
Подробное описание
Даже во времена относительно недорогих терабайтных носителей, следующее выражение остается справедливым: рано или поздно на диске заканчивается все свободное пространство. TreeSize Free приходит на помощь и показывает, куда делось свободное дисковое пространство.
Полностью бесплатная программа TreeSize Free может быть запущена из контекстного меню папки или диска и показывает размер папки, включая подпапки в привычном по Проводнику Windows виде. Большие папки могут быть идентифицированы сразу же благодаря панели градиентов, отображаемой на фоне. Все результаты сканирования могут быть детализированы до уровня файлов, а также доступны фильтры, например, для вывода файлов определенного расширения. TreeSize Free поддерживает даже сканирование подключённых к компьютеру смартфонов и мобильных устройств.
TreeSize Free сканирует сетевые носители и локально синхронизируемые облачные хранилища (за исключением данных на серверах Windows и в пределах домена Windows).
Режим табличного просмотра позволяет получить детальную информацию о каждом файле или папке. Здесь Вы можете найти размер или количество файлов, а также дату последнего доступа к файлу и автора файла.
На устройствах с сенсорным экраном Вы можете переключиться на интуитивный интерфейс с удобной навигацией, оптимизированной для сенсорных устройств.
Результаты сканирования могут быть сокращены с помощью гибких фильтров. Вы можете использовать фильтры для поиска определенных типов файлов, например, временных файлов, текстовых файлов, изображений и использовать данную информацию для очистки жестких дисков.
TreeSize Free работает непосредственно с главной файловой таблицей (MFT) и достигает очень высоких скоростей сканирования. Операции сканирования работают в отдельном потоке, поэтому Вы сможете увидеть результаты практически мгновенно, в то время как TreeSize Free будет работать в фоновом режиме. Операции перетаскивания с помощью функции drag & drop полностью поддерживаются в приложении.
TreeSize Free может отображать уровень сжатия NTFS и применять сжатие к ветвям директорий.
Запустите TreeSize Free с правами администратора устройства для расчета размеров всех папок — даже тех, к которым Вы не имеете доступ. Так как содержимое файлов не читается во время процедуры сканирования, защита данных и безопасность гарантируются.
Как узнать размер папок на диске с помощью PowerShell?

22.09.2022

itpro

PowerShell, Windows 10, Windows Server 2019

комментариев 12
Большинство пользователей Windows привыкли, что самый простой способ получить размер папки – открыть ее свойства в Проводнике Windows. Более опытные предпочитают использовать такие утилиты, как TreeSize или WinDirStat. Но, если вам нужно получить более детальную статистику по размеру папок в конкретном каталоге, или исключить определенные типы файлы, в этом случае лучше воспользоваться возможностями PowerShell. В этой статье мы покажем, как быстро получить размер определенного каталога на диске (или всех вложенных каталогов) с помощью PowerShell.
Для получения размеров файлов и каталогов в PowerShell можно воспользоваться командами Get-ChildItem (алиас gci) и Measure-Object (алиас measure). Первый командлет позволяет сформировать список файлов в заданном каталоге по указанным критериями, а второй выполняет арифметическое действие.
Совет. В одной из прошлых статей мы показывали как использовать командлет Get-ChildItem, чтобы найти ТОП самых больших файлов на диске.
Например, чтобы получить размер папки c:\PS, выполните команду:
Get-ChildItem c:\iso | Measure-Object -Property Length -sum

Как вы видите, общий размер файлов в данном каталоге указан в поле Sum и составляет около 2 Гб (размер указан в байтах).
Чтобы преобразовать размер в более удобные Мб или Гб, используйте такую команду:
(gci c:\iso | measure Length -s).sum / 1Gb
(gci c:\iso | measure Length -s).sum / 1Mb
Для округлений результата до двух символов после запятой, выполните команду:
» GB» -f ((gci c:\iso | measure Length -s).sum / 1Gb)

С помощью PowerShell вы можете посчитать суммарный размер всех файлов определенного типа в каталоге. К примеру, мы хотим получить суммарный размер всех ISO файлов в папке:
(gci c:\iso *.iso | measure Length -s).sum / 1Mb
![]()
Рассмотренные выше команды PowerShell позволяют получить общий размер файлов только в указанной директории. Если в папке содержаться вложенные каталоги, то размер файлов в этих каталогах не учитывается. Для получения общего размера всех файлов в каталоге с учетом вложенных директорий нужно использовать параметр –Recurse. Получим суммарный размер всех файлов в папке C:\Windows (скрипт возвращает суммарный размер всех файлов без учета NTFS сжатия):
» GB» -f ((gci –force c:\Windows –Recurse -ErrorAction SilentlyContinue| measure Length -s).sum / 1Gb)
Чтобы учитывать размер скрытых и системных файлов я дополнительно указал аргумент –force.
Итак, размер каталога C:\Windows на нашем диске составляет около 40 Гб.
Совет. Чтобы не показывать ошибки доступа к каталогам используйте параметр -ErrorAction SilentlyContinue .

Данный скрипт некорректно считает размер каталога, если в нем есть символические или жесткие ссылки. Например, в каталоге C:\Windows находится много жестких ссылок на файлы в хранилище компонентов WinSxS. В результате такие файлы могут быть посчитаны несколько раз. Чтобы не учитывать в результатах жесткие ссылки, используйте следующую команду (выполняется довольно долго):
» GB» -f ((gci –force C:\windows –Recurse -ErrorAction SilentlyContinue | Where-Object < $_.LinkType -notmatch "HardLink" >| measure Length -s).sum / 1Gb)
![]()
Как вы видите, реальный размер папки Windows несколько меньше.
Вы можете использовать фильтры для выбора файлов, которые нужно учитывать при расчете размера. Например, вы можете посчитать размер файлов, созданных за 2020 год
(gci -force c:\ps –Recurse -ErrorAction SilentlyContinue | ? | measure Length -s).sum / 1Gb
Можно получить размер всех вложенных папок первого уровня в указанном каталоге. Например, нам нужно получить размер всех профилей пользователей в папке C:\Users.
gci -force ‘C:\Users’-ErrorAction SilentlyContinue | ? < $_ -is [io.directoryinfo] >| % $len = 0
gci -recurse -force $_.fullname -ErrorAction SilentlyContinue | % < $len += $_.length >
$_.fullname, ‘ GB’ -f ($len / 1Gb)

% — это алиас для цикла foreach-object.
Идем дальше. Допустим ваша задача – узнать размер каждого каталога в корне системного жесткого диска и представить информацию в удобной для анализа табличной форме с возможностью сортировки по размеру каталогов.
Для получения информации о размере каталогов на диске C:\ выполните следующий PowerShell скрипт:
$targetfolder=’C:\’
$dataColl = @()
gci -force $targetfolder -ErrorAction SilentlyContinue | ? < $_ -is [io.directoryinfo] >| % $len = 0
gci -recurse -force $_.fullname -ErrorAction SilentlyContinue | % < $len += $_.length >
$foldername = $_.fullname
$foldersize= » -f ($len / 1Gb)
$dataObject = New-Object PSObject
Add-Member -inputObject $dataObject -memberType NoteProperty -name “foldername” -value $foldername
Add-Member -inputObject $dataObject -memberType NoteProperty -name “foldersizeGb” -value $foldersize
$dataColl += $dataObject
>
$dataColl | Out-GridView -Title “Размер вложенных каталогов”

Перед вами должна появиться графическая форма с таблицей, в которой указаны все папки в корне системного диска C:\ и их размер (таблица формируется командлетом Out-GridView). Щелкнув по заголовку столбца таблицы, вы можете отсортировать папки по размеру. Также вы можете выгрузить результаты в CSV ( |Export-Csv file.csv ) или Excel файл.
Если вы часто используете проверку размера каталогов в своих скриптах PowerShell, можно сделать отдельную функцию:
[CmdletBinding()]
Param (
[Parameter(Mandatory=$true,ValueFromPipeline=$true)]
$Path
)
if ( (Test-Path $Path) -and (Get-Item $Path).PSIsContainer ) $Measure = Get-ChildItem $Path -Recurse -Force -ErrorAction SilentlyContinue | Measure-Object -Property Length -Sum
$Sum = » -f ($Measure.Sum / 1Gb)
[PSCustomObject]@»Path» = $Path
«Size($Gb)» = $Sum
>
>
>
Для вызова функции просто выполните команду:

Такую функцию можно использовать для проверки размера каталогов на удаленных компьютерах через командлет Invoke-Command (PowerShell Remoting).
Invoke-Command -ComputerName dc01 -ScriptBlock $ –ArgumentList ‘C:\PS’

Рассмотренные команды работают во всех версиях PowerShell, включая новые версии PowerShell Core 7.x.
Предыдущая статья Следующая статья
Windows 10 научилась показывать, какие папки занимают больше всего места
Компания Microsoft работает над новым инструментом командной строки под названием DiskUsage, который поможет пользователю понять, что занимает место на диске компьютера под управлением Windows 10.
Пока инструмент доступен только в предварительных сборках Windows 10. Он показывает размер папок на диске и помогает найти, что именно «забивает» память компьютера. Используя DiskUsage, можно с первого взгляда определить, какие папки занимают много места на диске, разделе диска или в определённой директории.
Инструмент также позволяет применить фильтры по типам файлов. Можно, например, запустить команду «diskusage /minFileSize=1073741824 /h c:\windows», чтобы быстро найти папки весом более 1073741824 байт (примерно 1 ГБ) в папке «Windows».


