Командная строка windows размер папки

There is a built-in Windows tool for that:

dir /s 'FolderName'

This will print a lot of unnecessary information but the end will be the folder size like this:

 Total Files Listed:
       12468 File(s)    182,236,556 bytes

If you need to include hidden folders add /a.

Mark Amery's user avatar

Mark Amery

144k81 gold badges407 silver badges459 bronze badges

answered Oct 26, 2016 at 7:47

Nir Duan's user avatar

4

You can just add up sizes recursively (the following is a batch file):

@echo off
set size=0
for /r %%x in (folder\*) do set /a size+=%%~zx
echo %size% Bytes

However, this has several problems because cmd is limited to 32-bit signed integer arithmetic. So it will get sizes above 2 GiB wrong1. 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:

Get-ChildItem -Recurse | Measure-Object -Sum Length

or shorter:

ls -r | measure -sum Length

If you want it prettier:

switch((ls -r|measure -sum Length).Sum) {
  {$_ -gt 1GB} {
    '{0:0.0} GiB' -f ($_/1GB)
    break
  }
  {$_ -gt 1MB} {
    '{0:0.0} MiB' -f ($_/1MB)
    break
  }
  {$_ -gt 1KB} {
    '{0:0.0} KiB' -f ($_/1KB)
    break
  }
  default { "$_ bytes" }
}

You can use this directly from cmd:

powershell -noprofile -command "ls -r|measure -sum Length"

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 :-)

kaartic's user avatar

kaartic

5236 silver badges24 bronze badges

answered Oct 10, 2012 at 7:16

Joey's user avatar

JoeyJoey

345k85 gold badges690 silver badges687 bronze badges

14

Oneliner:

powershell -command "$fso = new-object -com Scripting.FileSystemObject; gci -Directory | select @{l='Size'; e={$fso.GetFolder($_.FullName).Size}},FullName | sort Size -Descending | ft @{l='Size [MB]'; e={'{0:N2}    ' -f ($_.Size / 1MB)}},FullName"

Same but Powershell only:

$fso = new-object -com Scripting.FileSystemObject
gci -Directory `
  | select @{l='Size'; e={$fso.GetFolder($_.FullName).Size}},FullName `
  | sort Size -Descending `
  | ft @{l='Size [MB]'; e={'{0:N2}    ' -f ($_.Size / 1MB)}},FullName

This should produce the following result:

Size [MB]  FullName
---------  --------
580,08     C:\my\Tools\mongo
434,65     C:\my\Tools\Cmder
421,64     C:\my\Tools\mingw64
247,10     C:\my\Tools\dotnet-rc4
218,12     C:\my\Tools\ResharperCLT
200,44     C:\my\Tools\git
156,07     C:\my\Tools\dotnet
140,67     C:\my\Tools\vscode
97,33      C:\my\Tools\apache-jmeter-3.1
54,39      C:\my\Tools\mongoadmin
47,89      C:\my\Tools\Python27
35,22      C:\my\Tools\robomongo

answered Dec 19, 2017 at 21:09

frizik's user avatar

frizikfrizik

1,8061 gold badge14 silver badges17 bronze badges

5

I suggest to download utility DU from the Sysinternals Suite provided by Microsoft at this link
http://technet.microsoft.com/en-us/sysinternals/bb896651

usage: du [-c] [-l <levels> | -n | -v] [-u] [-q] <directory>
   -c     Print output as CSV.
   -l     Specify subdirectory depth of information (default is all levels).
   -n     Do not recurse.
   -q     Quiet (no banner).
   -u     Count each instance of a hardlinked file.
   -v     Show size (in KB) of intermediate directories.


C:\SysInternals>du -n d:\temp

Du v1.4 - report directory disk usage
Copyright (C) 2005-2011 Mark Russinovich
Sysinternals - www.sysinternals.com

Files:        26
Directories:  14
Size:         28.873.005 bytes
Size on disk: 29.024.256 bytes

While you are at it, take a look at the other utilities. They are a life-saver for every Windows Professional

answered Oct 10, 2012 at 7:16

Steve's user avatar

SteveSteve

214k22 gold badges232 silver badges286 bronze badges

5

If you have git installed in your computer (getting more and more common) just open MINGW32 and type: du folder

answered May 8, 2014 at 14:02

Custodio's user avatar

CustodioCustodio

8,61415 gold badges80 silver badges115 bronze badges

1

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.

$FolderList = Get-ChildItem -Directory
foreach ($folder in $FolderList)
{
    set-location $folder.FullName
    $size = Get-ChildItem -Recurse | Measure-Object -Sum Length
    $info = $folder.FullName + "    FileCount: " + $size.Count.ToString() + "   Size: " + [math]::Round(($size.Sum / 1GB),4).ToString() + " GB"
    write-host $info
}

answered Oct 9, 2018 at 4:56

Ryan Lee's user avatar

Ryan LeeRyan Lee

1111 silver badge2 bronze badges

5

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

diskusage.exe -path 'd:/go; d:/Books'

and get list of folders arranged by size

  1.| DIR: d:/go      | SIZE: 325.72 Mb   | DEPTH: 1 
  2.| DIR: d:/Books   | SIZE:  14.01 Mb   | DEPTH: 1 

This example was executed at 272ms on HDD.

You can increase depth of subfolders to analyze, for example:

diskusage.exe -path 'd:/go; d:/Books' -depth 2

and get sizes not only for selected folders but also for its subfolders

  1.| DIR: d:/go            | SIZE: 325.72 Mb   | DEPTH: 1 
  2.| DIR: d:/go/pkg        | SIZE: 212.88 Mb   | DEPTH: 2 
  3.| DIR: d:/go/src        | SIZE:  62.57 Mb   | DEPTH: 2 
  4.| DIR: d:/go/bin        | SIZE:  30.44 Mb   | DEPTH: 2 
  5.| DIR: d:/Books/Chess   | SIZE:  14.01 Mb   | DEPTH: 2 
  6.| DIR: d:/Books         | SIZE:  14.01 Mb   | DEPTH: 1 
  7.| DIR: d:/go/api        | SIZE:   6.41 Mb   | DEPTH: 2 
  8.| DIR: d:/go/test       | SIZE:   5.11 Mb   | DEPTH: 2 
  9.| DIR: d:/go/doc        | SIZE:   4.00 Mb   | DEPTH: 2 
 10.| DIR: d:/go/misc       | SIZE:   3.82 Mb   | DEPTH: 2 
 11.| DIR: d:/go/lib        | SIZE: 358.25 Kb   | DEPTH: 2 

*** 3.5Tb on the server has been scanned for 3m12s**

Ro Yo Mi's user avatar

Ro Yo Mi

14.8k5 gold badges35 silver badges43 bronze badges

answered Aug 24, 2018 at 16:17

Alexander Anufriev's user avatar

3

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).

GetDirSummary.bat Script:

@echo off
rem  get total number of lines from dir output
FOR /F "delims=" %%i IN ('dir /S %1 ^| find "asdfasdfasdf" /C /V') DO set lineCount=%%i
rem  dir summary is always last 3 lines; calculate starting line of summary info
set /a summaryStart="lineCount-3"
rem  now output just the last 3 lines
dir /S %1 | more +%summaryStart%

Usage:

GetDirSummary.bat c:\temp

Output:

 Total Files Listed:
          22 File(s)         63,600 bytes
           8 Dir(s)  104,350,330,880 bytes free

answered Dec 6, 2017 at 19:41

Steve's user avatar

SteveSteve

315 bronze badges

1

This code is tested. You can check it again.

@ECHO OFF
CLS
SETLOCAL
::Get a number of lines contain "File(s)" to a mytmp file in TEMP location.
DIR /S /-C | FIND "bytes" | FIND /V "free" | FIND /C "File(s)" >%TEMP%\mytmp
SET /P nline=<%TEMP%\mytmp
SET nline=[%nline%]
::-------------------------------------
DIR /S /-C | FIND "bytes" | FIND /V "free" | FIND /N "File(s)" | FIND "%nline%" >%TEMP%\mytmp1
SET /P mainline=<%TEMP%\mytmp1
CALL SET size=%mainline:~29,15%
ECHO %size%
ENDLOCAL
PAUSE

answered Aug 10, 2013 at 14:37

Chienvela's user avatar

1

Try:

SET FOLDERSIZE=0
FOR /F "tokens=3" %A IN ('DIR "C:\Program Files" /a /-c /s ^| FINDSTR /C:" bytes" ^| FINDSTR /V /C:" bytes free"') DO SET FOLDERSIZE=%A

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.

answered Nov 14, 2017 at 8:47

FrinkTheBrave's user avatar

FrinkTheBraveFrinkTheBrave

3,90410 gold badges46 silver badges55 bronze badges

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.

shell: pwsh
run: |
  Get-ChildItem -Path C:\temp -Recurse | Measure-Object -Sum Length


shell: cmd
run: |
  powershell -noprofile -command "'{0:N0}' -f (ls C:\temp -r | measure -s Length).Sum"

answered Mar 19, 2021 at 19:10

Jens A. Koch's user avatar

Jens A. KochJens A. Koch

40k13 gold badges113 silver badges141 bronze badges

2

Open windows CMD and run follow command

dir /s c:\windows

answered Jul 2, 2021 at 6:59

Tuan Le Anh's user avatar

2

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 :-)

@echo ___________
@echo DIRECTORIES
@for /D %%i in (*) do @CALL du.exe -hs "%%i"
@echo _____
@echo FILES
@for %%i in (*) do @CALL du.exe -hs "%%i"
@echo _____
@echo TOTAL
@du.exe -sh "%CD%"

___________
DIRECTORIES
37M     Alps-images
12M     testfolder
_____
FILES
765K    Dobbiaco.jpg
1.0K    testfile.txt
_____
TOTAL
58M    D:\pictures\sample

answered Oct 24, 2015 at 17:13

Frank N's user avatar

Frank NFrank N

9,6854 gold badges81 silver badges111 bronze badges

::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:

set /a line=%i%-1

Finally get the number of bytes in the penultimate line — 3rd column:

set i=0
FOR /F "tokens=3" %%a IN ('dir /-c "%folderpath%"') DO (
  set /a i=!i!+1
  set bytes=%%a
  If !i!==%line% goto :size  
)
:size
echo %bytes%

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.

answered Jun 2, 2017 at 14:08

Gustavo Davico's user avatar

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%

@echo off
SET count=1
SET foldersize=0
FOR /f "tokens=*" %%F IN ('dir /s/b %folder%') DO (call :calcAccSize "%%F")
echo %filesize%
GOTO :eof

:calcAccSize
 REM echo %count%:%1
 REM set /a count+=1
 set /a foldersize+=%~z1
 GOTO :eof

Note: The method calcAccSize can also print the content of the folder (commented in the example above)

answered Mar 25, 2019 at 8:40

Lior Kirshner's user avatar

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.

@echo off
setlocal enabledelayedexpansion
set "vSearch=Files :"

For %%i in (%*) do (
    set "vSearch=Files :"
    For /l %%M in (1,1,2) do ( 
        for /f "usebackq tokens=3,4 delims= " %%A in (`Robocopy "%%i" "%%i" /E /L /NP /NDL /NFL ^| find "!vSearch!"`) do (
            if /i "%%M"=="1" (
                set "filecount=%%A"
                set "vSearch=Bytes :"
            ) else (
                set "foldersize=%%A%%B"
            )
        )
    )
    echo Folder: %%~nxi FileCount: !filecount! Foldersize: !foldersize!
    REM remove the word "REM" from line below to output to txt file
    REM echo Folder: %%~nxi FileCount: !filecount! Foldersize: !foldersize!>>Folder_FileCountandSize.txt
)
pause

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.

explorer C:\Users\%username%\AppData\Roaming\Microsoft\Windows\SendTo

answered May 15, 2019 at 5:26

julesverne's user avatar

julesvernejulesverne

4021 gold badge9 silver badges18 bronze badges

3

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

answered Apr 1, 2022 at 1:35

SodaCris's user avatar

SodaCrisSodaCris

3584 silver badges7 bronze badges

1

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.

GetFolderSize.vbs

 Dim fs, f, s
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFolder("C:\XPE\Custom\x64\IsoRoot")
    s = UCase(f.Name) & " uses " & f.size & " bytes."
    MsgBox s, 0, "Folder Size Info"

s=  FormatNumber(f.size/1024000,2) & " MB"
    MsgBox s, 0, "Folder Size Info"

s=  FormatNumber(f.size/1073741824,2) & " GB"
    MsgBox s, 0, "Folder Size Info"

answered Apr 27, 2022 at 15:22

Tony4219's user avatar

Use Windows Robocopy.

Put this in a batch file:

@echo off
pushd "%~dp0"
set dir="C:\Temp"
for /f "tokens=3" %%i in ('robocopy /l /e /bytes %dir% %dir% ^| findstr Bytes') do @echo %%i
pause

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

do @echo %%i

with

set size=%%i

If you want to send the folder size to another program through clipboard:

echo %size% | clip

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:

@echo off
pushd "%~dp0"
for /f "tokens=3" %%i in ('robocopy /l /e /bytes "%cd%" "%cd%" ^| findstr Bytes') do @echo %%i
pause

answered Jan 19 at 2:47

Mister Robato's user avatar

I solved similar problem. Some of methods in this page are slow and some are problematic in multilanguage environment (all suppose english).
I found simple workaround using vbscript in cmd. It is tested in W2012R2 and W7.

>%TEMP%\_SFSTMP$.VBS ECHO/Set objFSO = CreateObject("Scripting.FileSystemObject"):Set objFolder = objFSO.GetFolder(%1):WScript.Echo objFolder.Size
FOR /F %%? IN ('CSCRIPT //NOLOGO %TEMP%\_SFSTMP$.VBS') DO (SET "S_=%%?"&&(DEL %TEMP%\_SFSTMP$.VBS))

It set environment variable S_. You can, of course, change last line to directly display result to e.g.

FOR /F %%? IN ('CSCRIPT //NOLOGO %TEMP%\_SFSTMP$.VBS') DO (ECHO "Size of %1 is %%?"&&(DEL %TEMP%\_SFSTMP$.VBS))

You can use it as subroutine or as standlone cmd. Parameter is name of tested folder closed in quotes.

answered Mar 19, 2016 at 13:49

arpi's user avatar

I think your only option will be diruse (a highly supported 3rd party solution):

Get file/directory size from command line

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.

answered Oct 10, 2012 at 7:22

Illizian's user avatar

IllizianIllizian

4921 gold badge5 silver badges13 bronze badges

4

Easiest method to get just the total size is powershell, but still is limited by fact that pathnames longer than 260 characters are not included in the total

answered Feb 2, 2015 at 19:22

ray's user avatar

1

I realize this question asked for file size analysis using CMD line. But if you are open to using PowerQuery (Excel add-in, versions 2010+) then you can create some pretty compelling file size analysis.

The script below can be pasted into a Blank Query; The only thing you’ll need to do is add a parameter named «paramRootFolderSearch» then add your value, such as «C:\Users\bl0040\Dropbox\». I used this as a guide: MSSQLTips: Retrieve file sizes from the file system using Power Query.

This query provided the data for me to create a pivot table ([Folder Root]> [Folder Parent (1-2)], [Name]), and I was able to identify a few files that I could deleted which cleared up a lot of space in my directory.

Here is the M script for PowerQuery:

let
// Parmameters:
    valueRootFolderSearch = paramRootFolderSearch,
    lenRootFolderSearch = Text.Length(paramRootFolderSearch),
//

    Source = Folder.Files(paramRootFolderSearch),
    #"Removed Other Columns" = Table.RenameColumns(
Table.SelectColumns(Source,{"Name", "Folder Path", "Attributes"})
,{{"Folder Path", "Folder Path Full"}}),
    #"Expanded Attributes" = Table.ExpandRecordColumn(#"Removed Other Columns", "Attributes", {"Content Type", "Kind", "Size"}, {"Content Type", "Kind", "Size"}),
    #"fx_Size(KB)" = Table.AddColumn(#"Expanded Attributes", "Size(KB)", each [Size]/1024),
    #"fx_Size(MB)" = Table.AddColumn(#"fx_Size(KB)", "Size(MB)", each [Size]/1048576),
    #"fx_Size(GB)" = Table.AddColumn(#"fx_Size(MB)", "Size(GB)", each [Size]/1073741824),
    fx_FolderRoot = Table.AddColumn(#"fx_Size(GB)", "Folder Root", each valueRootFolderSearch),
    helper_LenFolderPathFull = Table.AddColumn(fx_FolderRoot, "LenFolderPathFull", each Text.Length([Folder Path Full])),
    fx_FolderDepth = Table.AddColumn(helper_LenFolderPathFull, "Folder Depth", each Text.End([Folder Path Full], [LenFolderPathFull]-lenRootFolderSearch+1)),
    #"helperList_ListFoldersDepth-Top2" = Table.AddColumn(fx_FolderDepth, "tmp_ListFoldersDepth", each List.Skip(
  List.FirstN(
    List.RemoveNulls(
      Text.Split([Folder Depth],"\")
    )
  ,3)
,1)),
    #"ListFoldersDepth-Top2" = Table.TransformColumns(#"helperList_ListFoldersDepth-Top2", 
{"tmp_ListFoldersDepth", each "\" & Text.Combine(List.Transform(_, Text.From), "\") & "\"
, type text}),
    #"Select Needed Columns" = Table.SelectColumns(#"ListFoldersDepth-Top2",{"Name", "Folder Root", "Folder Depth", "tmp_ListFoldersDepth", "Content Type", "Kind", "Size", "Size(KB)", "Size(MB)", "Size(GB)"}),
    #"rename_FoldersParent(1-2)" = Table.RenameColumns(#"Select Needed Columns",{{"tmp_ListFoldersDepth", "Folders Parent (1-2)"}})
in
    #"rename_FoldersParent(1-2)"

Folder File Sizes_xlsx.png

enter image description here

Folder File Sizes_xlsx2.png

enter image description here

How to find the size of a file

In Windows, we can use dir command to get the file size.

C:\>dir vlcplayer.exe
Directory of C:\

02/22/2011  10:30 PM        20,364,702 vlcplayer.exe
1 File(s)     20,364,702 bytes
0 Dir(s)  86,917,496,832 bytes free

But there is no option/switch to print only the file size.

Get size for all the files in a directory

Dir command accepts wild cards. We can use ‘*” to get the file sizes for all the files in a directory.

C:\>dir C:\Windows\Fonts
Volume in drive C is Windows 7
Volume Serial Number is 14A1-91B9

Directory of C:\Windows\Fonts

06/11/2009  02:13 AM            10,976 8514fix.fon
06/11/2009  02:13 AM            10,976 8514fixe.fon
06/11/2009  02:13 AM            11,520 8514fixg.fon
06/11/2009  02:13 AM            10,976 8514fixr.fon
06/11/2009  02:13 AM            11,488 8514fixt.fon
06/11/2009  02:13 AM            12,288 8514oem.fon
06/11/2009  02:13 AM            13,248 8514oeme.fon
06/11/2009  02:13 AM            12,800 8514oemg.fon

We can also get size for files of certain type. For example, to get file size for mp3 files, we can run the command ‘dir *.mp3‘.

The above command prints file modified time also. To print only the file name and size we can run the below command from a batch file.

@echo off

for /F "tokens=4,5" %%a in ('dir c:\windows\fonts') do echo %%a %%b

Save the above commands to a text file, say filesize.bat, and run it from command prompt.

Get directory size

There’s no Windows built in command to find directory size.  But there is a tool called diruse.exe which can be used to get folder size. This tool is part of XP support tools.  This command can be used to get directory size. This command’s syntax is given below.

diruse.exe   directory_name

C:\>diruse c:\windows

Size  (b)  Files  Directory
12555896050  64206  SUB-TOTAL:  C:\WINDOWS
12555896050  64206  TOTAL:  C:\WINDOWS

As you can see in the above example, diruse prints the directory size in bytes and it also prints the number of files in the directory(it counts the number of files in the sub folders also)

To get the directory size in mega bytes we can add /M switch.

C:\>diruse /M C:\Windows

Size (mb)  Files  Directory
11974.24  64206  SUB-TOTAL: C:\WINDOWS
11974.24  64206  TOTAL: C:\WINDOWS

Download XP Support Tools

Though the tool is intended for XP and Server 2003, I have observed that it works on Windows 7 also.  The above examples were indeed from a Windows 7 computer.

how to check folder size in windows through command prompt

say for example in C:\Windows there are many files and folders.

How to get the size of these files and folders

Is there any command similar to du -sg * in unix?

I have tried dir which will give the file not folders

asked Jan 8, 2014 at 8:04

Dhanish Jose's user avatar

2

@ECHO OFF
SETLOCAL
FOR /f "tokens=1,2,3" %%a IN ('dir /s') DO (
 IF "%%b"=="File(s)" SET $files=%%a&SET $bytes=%%c
 IF "%%b"=="Dir(s)" SET $dirs=%%a&SET $free=%%c
)
SET $

GOTO :EOF

This should set some variables of interest.

You should be able to insert a pusd/popd bracket

PUSHD someotherdirectory
for /f ....
...
)
POPD
...

to read the characteristics of someotherdirectory if you prefer.

answered Jan 8, 2014 at 8:58

Magoo's user avatar

MagooMagoo

77.5k8 gold badges63 silver badges85 bronze badges

3

Size of Windows folders — sorted and listed by MB — high to low

@echo off
pushd "c:\windows"
for /f "delims=" %%a in (' dir /ad /b ') do call :size "%%~fa"
sort /r < "%temp%\dirsize.tmp" |more
del "%temp%\dirsize.tmp"
popd
pause
goto :eof

:size
for /f "tokens=3" %%b in ('dir /s "%~1" 2^>nul ^|find " File(s) "') do set "n=%%b"
set "n=%n:,=%"

>"%temp%\VBS.vbs" echo Set fso = CreateObject("Scripting.FileSystemObject"^) : Wscript.echo int((%n%/1024/1024))
for /f "delims=" %%z in ('cscript /nologo "%temp%\VBS.vbs"') do set "dirsize=%%z"
del "%temp%\VBS.vbs"

set dirsize=               %dirsize%
set dirsize=%dirsize:~-15%
>>"%temp%\dirsize.tmp" echo %dirsize% "%~1"

answered Jan 8, 2014 at 9:54

foxidrive's user avatar

foxidrivefoxidrive

40.4k10 gold badges53 silver badges68 bronze badges

7

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

Просмотр размеров папок необходим при совершении различных операций, потому что пользователю нужно иметь представление о том, какой объем данных можно передать или получить при текущем объеме памяти на компьютере.

Содержание:

  1. Как посмотреть размер папки в Проводнике — 1 способ
  2. Получаем информацию о размере папок в Windows — 2 способ
  3. Узнаем размер папки в командной строке — 1 способ
  4. Как показать размер папки в командной строке — 2 способ
  5. Как узнать в Total Commander размер папок
  6. Отображение размера папок в TreeSize Free
  7. Смотрим размер папок в WinDirStat
  8. Выводы статьи
  9. Как посмотреть размер папки в Windows (видео)

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

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

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

Как посмотреть размер папки в Проводнике — 1 способ

По умолчанию операционная система Windows не показывает размер папок в отличие от размеров файлов. Но при помощи одной уловки вы можете узнать, используя встроенный файловый менеджер — Проводник Windows, размер папок в системе.

Чтобы увидеть через Проводник размер папки, совершите эти действия:

  1. Откройте расположение, в котором находится нужная вам папка.
  2. Наведите курсор мыши на папку.
  3. Появится всплывающая подсказка с различной информацией об этой папке, в том числе отображающая ее размер.

подсказка с размером папки

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

Получаем информацию о размере папок в Windows — 2 способ

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

Действуйте по этой инструкции:

  1. Выделите нужную папку.
  2. Щелкните правой кнопкой мыши по папке и в появившемся контекстном меню выберите «Свойства».
  3. В окне свойств папки во вкладке «Общие» в полях «Размер:» и «На диске:» отображается информация, благодаря которой вы узнаете какого размера папка и сколько она занимает места на диске.

свойства папки

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

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

Узнаем размер папки в командной строке — 1 способ

В последние версии Windows 10 и Windows 11 добавлено новое приложение DiskUsage, которое доступно из командной строки или окна Windows PowerShell. Это приложение рекурсивно суммирует использование диска для данного каталога.

Пройдите шаги:

  1. Запустите командную строку или PowerShell от имени администратора.
  2. В окне консоли введите команду, а затем нажмите «Enter»:
diskusage путь_к_папке

Можете щелкнуть по папке правой кнопкой мыши, а в контекстном меню выбрать «Копировать как путь», чтобы вставить скопированное в окно командной строки. Если в данном пути к папке имеются пробелы в именах, то этот путь необходимо заключить в кавычки.

На этом примере используется следующая команда:

diskusage D:\Фильмы

В колонке «SizeOnDisk» отображается занимаемое папкой место на диске в байтах.

размер папки

Как показать размер папки в командной строке — 2 способ

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

Проделайте следующее:

  1. Запустите CMD от имени администратора.
  2. В окне интерпретатора командной строки выполните команду, а потом щелкните по «Enter»:
dir /s путь_к_папке

Если в пути к папке есть пробелы, введите полный путь в кавычках.

На нашем компьютере мы используем следующую команду:

dir /s D:\Фильмы

В поле «Всего файлов» будет указан общий размер папки в байтах по сумме всех файлов, находящихся в этом каталоге.

всего файлов

Как узнать в Total Commander размер папок

Вы можете использовать альтернативный файловый менеджер, чтобы узнать размеры папок на диске, например, Total Commander. По своему желанию вы увидите размер одной папки или всех папок, размещенных в каталоге.

По умолчанию в Total Commander в колонке «Размер» отображается тип объекта: <Папка>.

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

  1. Выделите папку в окне программы Total Commander.
  2. Щелкните по клавише клавиатуры «Пробел» (Space).
  3. В колонке «Размер» отобразится информация о размере данной папки в байтах.

размер папки

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

  1. Щелкните курсором мыши по панели, чтобы сделать ее активной.
  2. Нажмите на клавиши «Alt» + «Shift» + «Enter».
  3. После завершения подсчета программа выводит размеры папок.

размер всех папок

Если папка пустая, то в колонке «Размер» ничего не отображается, кроме слова <Папка>.

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

  1. В меню «Конфигурация» нажмите «Настройка…».
  2. В окне «Настройка» откройте раздел «Табуляторы».
  3. В опции «Размеры в панелях:» откройте выпадающее меню и укажите, например, — «плавающий (x. xx К/М/Г)».
  4. Нажмите «ОК».

размеры в панелях

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

размеры папок

Отображение размера папок в TreeSize Free

TreeSize Free — бесплатная версия программы для анализа свободного места на компьютере в операционной системе Windows. Эта приложение может определять и отображать размеры дисков и папок.

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

Вы можете скачать и установить на свой компьютер бесплатную установочную версию TreeSize, или использовать переносную версию программы (portable).

Выполните следующие действия:

  1. Запустите TreeSize Free на ПК.
  2. Нажмите кнопку «Выбрать каталог», чтобы выбрать диск или папку для сканирования.
  3. После сканирования программа покажет список папок, размер.

папки в treesize

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

Смотрим размер папок в WinDirStat

WinDirStat (Windows Directory Statistics) — бесплатная программа, отображающая статистику использования диска в операционной системе Windows. Для загрузки на компьютер доступны установочная или портативная версии программы.

Это программное обеспечение сканирует весь каталог ПК, а затем проецирует результаты тремя функциональными способами:

  • В древовидном представлении списка каталогов, таким же, как в проводнике Windows, но более организованным в соответствии с размерами файлов.
  • Список расширений, отображающий статистику файлов и их типов.
  • Функция графической карты показывает всю тематику каталога в виде разноцветных расширений.

Сделайте следующее:

  1. Запустите программу WinDirStat на компьютере.
  2. В окне «WinDirStat – Выбор дисков» выберите все диски или только те, на которых нужно отображать размер папок.
  3. В окне приложения откройте диск или папку, чтобы получить необходимые сведения о размере.

главное окно программы

Выводы статьи

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

Как посмотреть размер папки в Windows (видео)

Похожие публикации:

  • Удаление раздела диска в Windows — 3 способа
  • Как показать скрытые файлы и папки в Windows
  • Как открыть параметры папок в Windows — 10 способов
  • Как сжать диск, папку или файл для экономии места в Windows
  • Как удалить папку Windows.old

  • Командная строка windows проверка сети
  • Командная строка для расширенного устранения неполадок windows 10
  • Командная строка windows работа с сетью
  • Командная строка для работы с дисками в windows
  • Командная строка для запуска windows