Determinar o tamanho de uma pasta de rede

4

Eu quero um script do PowerShell para obter o tamanho de uma pasta de rede ( \pmintl.net\rbsdata\SPA_BB01 ) aproximadamente 100 TB de tamanho com muitas subpastas.

Eu tentei vários scripts sem qualquer sorte (abaixo está um exemplo de um que eu tentei, mas isso 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)
    
por Nitin Sehgal 06.05.2015 / 18:41

1 resposta

2

Abaixo estão dois scripts do PowerShell, o primeiro obtém a quantidade total de pastas e o segundo fornece um detalhamento de cada subpasta (lembre-se de que se a pasta for ENORME, isso pode levar algum tempo para obter) ...

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 verificar este artigo da TechNet, o que explica ainda mais detalhes sobre as propriedades / informações adicionais que podem ser obtidas.

link

    
por 06.05.2015 / 22:04