Reputation: 448
I need to get a list of sub-directories with their sizes using PowerShell.
The following PowerShell code does what I want, but it does not work with hidden directories.
Get-ChildItem | Where-Object { $_.PSIsContainer } | ForEach-Object { $_.Name + ": " + "{0:N2}" -f ((Get-ChildItem $_ -Recurse | Measure-Object Length -Sum -ErrorAction SilentlyContinue).Sum / 1MB) + " MB" }
I tried showing hidden directories in Windows, but that does't work. For now, I just make sure every sub-directory is not hidden, but this is not ideal. Is there like a simple parameter that can force this code to get information for hidden files and folders?
Preferably, I'd like this to work with PowerShell 2.
Upvotes: 18
Views: 8279
Reputation: 36297
The -Force
argument for Get-ChildItem will cause it to include hidden files and directories.
Get-ChildItem -Force | Where-Object { $_.PSIsContainer } | ForEach-Object { $_.Name + ": " + "{0:N2}" -f ((Get-ChildItem $_ -Recurse -Force | Measure-Object Length -Sum -ErrorAction SilentlyContinue).Sum / 1MB) + " MB" }
Upvotes: 28