Quero que um script do PowerShell obtenha o tamanho de uma pasta de rede ( \\pmintl.net\rbsdata\SPA_BB01
) de aproximadamente 100 TB com muitas subpastas.
Eu tentei vários scripts sem sorte (abaixo está um exemplo de um que tentei, mas pareceu travar):
$startFolder = "\\pmintl.net\rbsdata\SPA_BB01"
"Folder use {0:0,0.00} MB" -f ((Get-ChildItem -R $startFolder | measure-object length -Sum).Sum / 1TB)
Responder1
Abaixo estão dois scripts do PowerShell, o primeiro obtém a quantidade geral da pasta e o segundo fornece um detalhamento de cada subpasta (lembre-se que se a pasta for ENORME, isso pode levar algum tempo para ser obtido)...
Pasta:
$colItems = (Get-ChildItem "\\pmintl.net\rbsdata\SPA_BB01" -recurse | Measure-Object -property length -sum)
"{0:N2}" -f ($colItems.sum / 1MB) + " MB"
Pasta incluindo subpastas:
$startFolder = "\\pmintl.net\rbsdata\SPA_BB01"
$colItems = (Get-ChildItem $startFolder | Measure-Object -property length -sum)
"$startFolder -- " + "{0:N2}" -f ($colItems.sum / 1MB) + " MB"
$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"
}
Você pode querer verificar este artigo do TechNet que explica mais detalhadamente, incluindo detalhes sobre as propriedades/informações adicionais que podem ser obtidas.