Existe uma opção de linha de comando da janela para mostrar os tamanhos dos diretórios

0

Quando eu faço um comando dir , dá esta informação:

02/11/2015  01:39 PM    <DIR>          bar
11/11/2014  07:22 AM    <DIR>          buz
02/12/2015  01:35 PM       140,660,736 foo.sdf
01/21/2015  02:04 PM            10,505 foo.sln
01/21/2015  02:04 PM               256 foo.vssscc

Existe um switch ou até mesmo um comando do PowerShell que eu possa fazer, que listará todos os diretórios com seus respectivos tamanhos?

    
por Jonathan Mee 06.03.2015 / 19:54

1 resposta

2

Trivial no PowerShell.

$FolderSize = Get-ChildItem $FolderPath -Recurse -Force | Measure-Object -Property Length -Sum;

$FolderSize.Sum;       #Size in bytes
$FolderSize.Sum / 1MB; #Size in MB
$FolderSize.Sum / 1GB; #Size in GB

Para obter cada pasta em uma pasta especificada e calcular cada uma delas, basta iterar por elas:

$BaseFolder = Get-ChildItem 'C:\Path\To\Folder';

$Results = @();

foreach ($f in $BaseFolder) {
    if ($f.PSIsContainer -eq $true) {
        $Size = Get-ChildItem $f -Recurse -Force | Measure-Object -Property Length -Sum;
    }
    else {
        $Size = Get-ChildItem $f | Measure-Object -Property Length -Sum;
    }
    $Results += New-Object PSObject -Property @{Name = $f.Name; Length = $Size.Sum;}
}

$Results | Format-Table -AutoSize;
    
por 07.03.2015 / 19:53