Windows 10, как просмотреть какие папки занимают больше места на диске.
Если на вашем жестком диске или SSD, заканчивается свободное пространство, вам, вероятно, придется вручную проверять размер каждой папки на ваших дисках перед тем как ее удалить. Это утомительно, если не сказать больше. Если вы используете Windows 10, вам не нужно сторонние приложения, посмотреть какие папки занимают больше всего места вы можете с помощью приложения «Параметры».
Windows 10 имеет очень удобную и абсурдно скрытую функцию, которая позволяет просматривать объём занимаемого пространства на диске по папке. Это было частью Windows 10 с момента обновления Creators, но не многие пользователи знают, что она есть. Функция непреднамеренно «скрыта» из-за плохого дизайна и отсутствия визуального указания на то, что на ней есть что-то еще.
Посмотреть объём занимаемого пространства на диске по папке
Эта функция находится в приложении «Параметры». Перейдите в группу настроек «Система» → «Память устройства» → «Локальное хранилище». Это покажет вам все диски, подключенные к вашей системе, как внутренние, так и внешние.
Для каждого диска вы можете видеть использованное и свободное пространство. В этом нет ничего нового, и такая же информация доступна, если вы посетите Этот компьютер в Проводнике. Что немного менее очевидно, так это то, что вы можете здесь кликнуть на отображаемый жёсткий диск.
После того как вы выберите диск мышью, вы увидите множество предустановленных папок, таких как «Приложения и игры», «Системные и зарезервированные», «Временные файлы» и т. Д. Эти папки автоматически создаются Windows, и вы можете выбрать папку кликнув на ней, чтобы просмотреть, сколько места занимает каждая из них.

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

Также существует папка «Другое» — папки которые не отнесенные к каким-либо категориям, В них могут быть важные файлы от которых зависит правильная работа системы. Но вы всегда можете выбрать одну из них чтобы проверить содержимое в проводнике.

Папки сортируются по размеру, поэтому те, которые находятся наверху, занимают больше места. Когда вы удаляете файлы, вам нужно нажать кнопку «Обновить» в низу страницы или закрыть и снова открыть приложение «Параметры», чтобы увидеть обновленные значения занимаемого пространства ваших дисков и папок.
Как узнать размер папок на диске с помощью 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). Первый командлет позволяет сформировать список файлов в заданном каталоге по указанным критериями, а второй выполняет арифметическое действие.
Например, чтобы получить размер папки 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
Для округлений результата до двух символов после запятой, выполните команду:
» <0:N2>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 сжатия):
» <0:N2>GB» -f ((gci –force c:\Windows –Recurse -ErrorAction SilentlyContinue| measure Length -s).sum / 1Gb)
Чтобы учитывать размер скрытых и системных файлов я дополнительно указал аргумент –force.
Итак, размер каталога C:\Windows на нашем диске составляет около 40 Гб.

Данный скрипт некорректно считает размер каталога, если в нем есть символические или жесткие ссылки. Например, в каталоге C:\Windows находится много жестких ссылок на файлы в хранилище компонентов WinSxS. В результате такие файлы могут быть посчитаны несколько раз. Чтобы не учитывать в результатах жесткие ссылки, используйте следующую команду (выполняется довольно долго):
» <0:N2>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 | ? <$_.CreationTime -gt ‘1/1/20’ -AND $_.CreationTime -lt ‘12/31/20’>| 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, ‘ <0:N2>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= ‘<0:N2>‘ -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, можно сделать отдельную функцию:
Для вызова функции просто выполните команду:

Такую функцию можно использовать для проверки размера каталогов на удаленных компьютерах через командлет Invoke-Command (PowerShell Remoting).
Invoke-Command -ComputerName dc01 -ScriptBlock $
Get Folder Size from Windows Command Line
Is it possible in Windows to get a folder’s size from the command line without using any 3rd party tool?
I want the same result as you would get when right clicking the folder in the windows explorer → properties.
22 Answers 22
You can just add up sizes recursively (the following is a batch file):
However, this has several problems because cmd is limited to 32-bit signed integer arithmetic. So it will get sizes above 2 GiB wrong 1 . Furthermore it will likely count symlinks and junctions multiple times so it’s at best an upper bound, not the true size (you’ll have that problem with any tool, though).
An alternative is PowerShell:
If you want it prettier:
You can use this directly from cmd :
1 I do have a partially-finished bignum library in batch files somewhere which at least gets arbitrary-precision integer addition right. I should really release it, I guess 🙂
![]()
There is a built-in Windows tool for that:
This will print a lot of unnecessary information but the end will be the folder size like this:
If you need to include hidden folders add /a .
![]()
![]()
Same but Powershell only:
This should produce the following result:
I suggest to download utility DU from the Sysinternals Suite provided by Microsoft at this link http://technet.microsoft.com/en-us/sysinternals/bb896651
While you are at it, take a look at the other utilities. They are a life-saver for every Windows Professional
![]()
If you have git installed in your computer (getting more and more common) just open MINGW32 and type: du folder
Here comes a powershell code I write to list size and file count for all folders under current directory. Feel free to re-use or modify per your need.
![]()
I recommend using https://github.com/aleksaan/diskusage utility which I wrote. Very simple and helpful. And very fast.
Just type in a command shell
and get list of folders arranged by size
This example was executed at 272ms on HDD.
You can increase depth of subfolders to analyze, for example:
and get sizes not only for selected folders but also for its subfolders
*** 3.5Tb on the server has been scanned for 3m12s**
![]()
Change C:\Program Files to whatever folder you want and change %A to %%A if using in a batch file
It returns the size of the whole folder, including subfolders and hidden and system files, and works with folders over 2GB
It does write to the screen, so you’ll have to use an interim file if you don’t want that.
I guess this would only work if the directory is fairly static and its contents don’t change between the execution of the two dir commands. Maybe a way to combine this into one command to avoid that, but this worked for my purpose (I didn’t want the full listing; just the summary).
This code is tested. You can check it again.
Open windows CMD and run follow command
I got du.exe with my git distribution. Another place might be aforementioned Microsoft or Unxutils.
Once you got du.exe in your path. Here’s your fileSizes.bat 🙂
![]()
I think your only option will be diruse (a highly supported 3rd party solution):
The Windows CLI is unfortuntely quite restrictive, you could alternatively install Cygwin which is a dream to use compared to cmd. That would give you access to the ported Unix tool du which is the basis of diruse on windows.
Sorry I wasn’t able to answer your questions directly with a command you can run on the native cli.
::Get a number of lines that Dir commands returns (/-c to eliminate number separators: . ,) [«Tokens = 3» to look only at the third column of each line in Dir]
FOR /F «tokens=3» %%a IN (‘dir /-c «%folderpath%»‘) DO set /a i=!i!+1
Number of the penultimate line, where is the number of bytes of the sum of files:
Finally get the number of bytes in the penultimate line — 3rd column:
As it does not use word search it would not have language problems.
Limitations:
- Works only with folders of less than 2 GB (cmd does not handle numbers of more than 32 bits)
- Does not read the number of bytes of the internal folders.
![]()
The following script can be used to fetch and accumulate the size of each file under a given folder.
The folder path %folder% can be given as an argument to this script ( %1 ).
Ultimately, the results is held in the parameter %filesize%
Note: The method calcAccSize can also print the content of the folder (commented in the example above)
![]()
So here is a solution for both your requests in the manner you originally asked for. It will give human readability filesize without the filesize limits everyone is experiencing. Compatible with Win Vista or newer. XP only available if Robocopy is installed. Just drop a folder on this batch file or use the better method mentioned below.
To be able to use this batch file conveniently put it in your SendTo folder. This will allow you to right click a folder or selection of folders, click on the SendTo option, and then select this batch file.
To find the SendTo folder on your computer simplest way is to open up cmd then copy in this line as is.
![]()
The following one-liners can be used to determine the size of a folder.
The post is in Github Actions format, indicating which type of shell is used.
It’s better to use du because it’s simple and consistent.
install scoop: iwr -useb get.scoop.sh | iex
install busybox: scoop install busybox
get dir size: du -d 0 . -h
I was at this page earlier today 4/27/22, and after trying DU by SysInternals (https://learn.microsoft.com/en-us/sysinternals/downloads/du) and piping the output etc etc. I said "Didn’t I have to do this in VBscript? I got this to work for total size of ISOroot folder and all subfolders. Replace the Folder fullpath with your own. It’s very fast.
Use Windows Robocopy.
Put this in a batch file:
Set the path for your folder in the dir variable.
The for loop gets the 3rd string using tokens=3 , which is the size in bytes, from the robocopy findstr command.
The /l switch in robocopy only lists the output of the command, so it doesn’t actually run.
The /e switch in robocopy copies subdirectories including empty ones.
The /bytes switch in robocopy copies subdirectories including empty ones.
You can omit the /bytes switch to get the size in default folder properties sizes (KB, MB, GB. )
The findstr | Bytes command finds the output of robocopy command which contains total folder size.
And finally echo the index %%i to the console.
If you need to save the folder size to a variable replace
If you want to send the folder size to another program through clipboard:
If you need to get the current folder size put the batch file into that folder and remove set dir="C:\Temp" and replace both %dir% with %cd% , which stands for current directory, like this:
Обзор проводников с показом размера папок
Иногда при чистке системы от мусора, бывают случаи когда что то большого размера где то лежит, а найти где именно не удается. И при этом разного рода программы оптимизаторы тоже найти эти файлы не могут, так как часто эти файлы не системные а пользовательские. Вот в этом случае нам и поможет проводник который может показывать размер папок. Этой функции очень не хватает в стандартном эксплорере Windows.

Проводники с показом размера папок
1. Первая в этом списке будет программа с названием TreeSize Free.

Небольшая и бесплатная программа которая очень удобно отображает размер и количество файлов в папке. Также показываются скрытые файлы. Приложение англоязычное, но это никакого дискомфорта в пользовании не предоставляет. [ads1]Присутствуют разные способы сортировки и фильтрации для удобного пользования.
Скачать TreeSize Free можно по следующим ссылкам ниже :
2. Следующий полезный проводник в нашем обзоре имеет название Explorer++.

Является бесплатной русскоязычной программкой которая имеет хороший функциональный набор для удобного просмотра папок. Есть также функция показа скрытых файлов и показ их размера в байтах, килобайтах, мегабайтах, гигабайтах. Присутствует функция расширенного поиска. В целом хорошая замена стандартному файловому менеджеру.
Скачать Explorer++ можно по следующим ссылкам ниже :
3. Следующее приложение для обзора имеет название Folder Size Explorer.

Представляет из себя простой бесплатный файловый менеджер на английском языке. Даже не знаю что и добавить, функционально практически ничем не отличается от предшествующих. Имеет поиск файлов и калькулятор подсчета вложенных папок.[ads2]
Скачать Folder Size Explorer можно по следующим ссылкам ниже :
4. Программа под номером четыре называется Q-Dir.

Стоит отдать должное этому проводнику в первую очередь за разнообразие отображения панели, например в окне может быть показано 4, 3, или 2 панели, при том что их отдельно можно настроить под себя. Программка распространяется бесплатно и имеет выбор из 25 разных языков. Большие размеры папок подчеркиваются, но стандартно размер не подсчитывается. Для активации этой функции нужно сделать следующее:
Нажать клавишу F9 и в открывшимся окне выбрать пункт “Внутренний алгоритм Q-Dir”, после этого обновляем окно и видим результат.
Скачать Q-Dir можно по следующим ссылкам ниже :
5. Проводник под номером пять называется GetFoldersize.

В принципе также является довольно таки функциональным файловым менеджером. Есть возможность выбрать английский и русский язык, но существует некая проблема с отображением шрифта при выборе русского. Для исправления нужно нажать на красную букву А и выбрать там один из таких шрифтов: Courier, MS San Serif, Fixedsys.
Больше ничего такого особенного, чего в нем можно выделить я не обнаружил, лично мне он показался визуально нагруженным. Также не понравилось что сначала программа должна просканировать локальный диск, а уже потом выдаст данные, в других перечисленных программках это было намного быстрее. Тоже распространяется бесплатно.
Скачать GetFoldersize можно по следующим ссылкам ниже :
6. Следующая программа называется MeinPlatz.

Данное программное обеспечение покажет архитектуру папок включая системные и скрытые файлы. Есть настройка отображения окон, поиск и еще несколько дополнительных функций. Небольшой размер и возможность выбрать русский язык из девятнадцати возможных. Хорошая скорость сканирования папок Распространение бесплатное.
Скачать MeinPlatz можно по следующим ссылкам ниже:
7. Седьмая предпоследний проводник в обзоре имеет название WizTree.

Самое приятное, что понравилось в этой программе, так это скорость сканирования локальных дисков. Сканирование практически моментальное, у меня 183 гигабайта заняло 2,39 секунды. Приятный интерфейс и хорошая скорость работы делает этот проводник хорошим решением в простых повседневных задачах. Также стоит отметить очень полезную функцию которая поможет кардинально очистить жесткий диск от самых больших файлов, называется она “Топ 100 больших файлов”.

Скачать WizTree можно по следующим ссылкам ниже:
8. Последняя в обзоре программка с названием WinDirStat.

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