znalazłem kilka zasobów, które używają następujący skrypt, aby uzyskać folderu rozmiarachPowerShell rozmiar folderu folderów bez wymieniających podkatalogach
$colItems = (Get-ChildItem $startFolder -recurse | Where-Object {$_.PSIsContainer -eq $True} | Sort-Object)
foreach ($i in $colItems)
{
$subFolderItems = (Get-ChildItem $i.FullName | Measure-Object -property length -sum)
$i.FullName + " -- " + "{0:N2}" -f ($subFolderItems.sum/1MB) + " MB"
}
Problem z tym jest to również listę podkatalogów, tj:
c:\test\1 -- 10mb
c:\test\1\folder -- 10mb
c:\test\1\folder\deep -- 5mb
c:\test\1\folder\tuna -- 5mb
c:\test\2 -- 20bm
c:\test\2\folder -- 20mb
c:\test\2\folder\deep -- 10mb
c:\test\2\folder\tuna -- 10mb
Myślę, że wiesz, gdzie idę. Co szukam jest zaledwie Wyniki folderu nadrzędnego ... SO:
c:\test\1 -- 10mb
c:\test\2 -- 20mb
Jak można to osiągnąć z PowerShell? ....
Spójrz na [Hej, Skrypciarze! Uzyskiwanie wielkości katalogów w PowerShell] (http://blogs.technet.com/b/heyscriptingguy/archive/2012/05/25/getting-directory-sizes-in-powershell.aspx). Skrypt Get-DirStats.ps1, o którym mowa, wykonuje domyślnie to, o co prosisz. –
Myślę, że szukasz czegoś takiego: http://jdhitsolutions.com/blog/2013/05/getting-top-level-folder-report-in-powershell/. – Neolisk
Jeśli '$ startFolder' to' c: \ test', czy nie możesz usunąć '-recurse'? – Matt