Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I would like to see sizes of subfolders in a folder, similar to linux du -sh command. How can I list directories and their sizes in command prompt?

share|improve this question
add comment

2 Answers 2

up vote 6 down vote accepted

Try the Disk Usage utility from Sysinternals. Specifically, du -l 1 should show the size of each subdirectory of the current directory. For more information, run du without any parameters.


If PowerShell is OK, then try the following:

Get-ChildItem |
Where-Object { $_.PSIsContainer } |
ForEach-Object {
  $_.Name + ": " + (
    Get-ChildItem $_ -Recurse |
    Measure-Object Length -Sum -ErrorAction SilentlyContinue
  ).Sum
}

The sizes are in bytes. To format them in some larger unit like MB, try the following (condensed to one line):

Get-ChildItem | Where-Object { $_.PSIsContainer } | ForEach-Object { $_.Name + ": " + "{0:N2}" -f ((Get-ChildItem $_ -Recurse | Measure-Object Length -Sum -ErrorAction SilentlyContinue).Sum / 1MB) + " MB" }

For more information, see this article at Technet.

If you want more flexible formatting of the sizes (choosing kB/MB/GB/etc based on the actual size), see this question and its answers.


I don't think it's possible to do what you want from the regular command line and with only a few simple commands. See this script as an example (not going to copy it here because I don't believe that approach is worth pursuing, unless PowerShell isn't available and third-party utilities aren't acceptable).

share|improve this answer
    
Looks good. Will wait a bit to see if there is a native way to do this in command prompt :) –  giorgio79 Sep 29 '12 at 11:47
    
@giorgio79 See updated answer. It's doable natively in the command prompt, but I'd recommend either Disk Usage, or using PowerShell. –  Indrek Sep 29 '12 at 12:19
add comment

I have no experience with du in Linux. But in windows I use dir /s to list all folders and subfolders along with file sizes.

share|improve this answer
1  
The /S switch doesn't show sizes of directories, it simply makes the command recursively go through all subdirectories. –  Indrek Sep 29 '12 at 12:07
2  
Look carefully, It shows the size of each folder also. Although its not much human readable. –  Lamb Sep 29 '12 at 12:28
    
Ah yes, I see what you mean - under the file listing of each subdirectory it shows the total size of all files in that directory. Like you say, it's not really easy to read, though, and the sizes aren't shown recursively. –  Indrek Sep 29 '12 at 12:58
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.