ho trovato molte risorse che utilizzano il seguente script per ottenere le dimensioni delle cartellePowershell dimensioni della cartella di cartelle senza sottodirectory sfogliare
$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"
}
Il problema è che elenca anche le sottodirectory cioè:
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
Penso che tu sappia vedere dove sto andando. Quello che sto cercando è solo i risultati della cartella principale ... SO:
c:\test\1 -- 10mb
c:\test\2 -- 20mb
Come può essere realizzato con PowerShell? ....
Dai un'occhiata a [Hey, Scripting Guy! Ottenere dimensioni di directory in PowerShell] (http://blogs.technet.com/b/heyscriptingguy/archive/2012/05/25/getting-directory-sizes-in-powershell.aspx). Lo script Get-DirStats.ps1 a cui si fa riferimento fa ciò che si sta chiedendo per impostazione predefinita. –
Penso che tu stia cercando qualcosa del genere: http://jdhitsolutions.com/blog/2013/05/getting-top-level-folder-report-in-powershell/. – Neolisk
Se '$ startFolder' è' c: \ test' non potresti semplicemente rimuovere '-recurse'? – Matt