Forum Discussion
Get folder size with its locations
My disk gets full several times and i have to clean it manually. so , is there is any script which can tell me which folder is consuming more than 10gb with its location.
i tried this one -
Select-Object FullName |
ForEach-Object -Process{New-Object -TypeName PSObject -Property @{Name =$_.FullName;Size = (Get-ChildItem -path $_.FullName -Recurse -file -Force -ErrorAction SilentlyContinue |
Measure-Object -Property Length -Sum ).Sum/1kb}} |
Select-Object Name, @{Name="Size(MB)";Expression={("{0:N2}" -f($_.Size/1024))}}|
Out-GridView
6 Replies
- Jonathan_AllenBrass Contributor"Get-ChildItem -path "C:\junk" -Directory -force -Recurse | sort -descending -property length" All directories will have 0 length.I think you meant to use "Get-ChildItem -path "C:\junk" -File -force -Recurse | sort -descending -property length"
- Did this work for you?
- ankit_bhatCopper Contributor
Harm_Veenstra No, I don't work. There is some issue while this script was trying to save the output in gridview. Although I also try to save the output in a file but still output doesn't get saved.
- Did the change to -File instead of -Folder work for you?
Get-ChildItem -path "C:\junk" -Directory -force -Recurse | sort -descending -property length |
Select-Object FullName |
ForEach-Object -Process{New-Object -TypeName PSObject -Property @{Name =$_.FullName;Size = (Get-ChildItem -path $_.FullName -Recurse -file -Force -ErrorAction SilentlyContinue |
Measure-Object -Property Length -Sum ).Sum/1kb}} |
Select-Object Name, @{Name="Size(MB)";Expression={("{0:N2}" -f($_.Size/1024))}} | Where-Object 'Size(MB)' -GT 9.99 |
Out-GridView
Where-Object 'Size(MB)' -GT 9.99 was the thing that I added at the end.