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

0

Quando eu faço um dircomando, 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 uma opção ou mesmo um comando do PowerShell que posso fazer que listará todos os diretórios com seus respectivos tamanhos?

Jonathan Mee
fonte
não é realmente uma resposta direta, mas cygwin pastebin.com/raw.php?i=VAD7x7Lr diretórios lista find -type d lista de diretórios com tamanhosdu -h
barlop
@ Barlop infelizmente não tem acesso ao Cygwin. Parece que tem que ser o PowerShell.
Jonathan Mee

Respostas:

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, basta iterar através delas:

$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;
Pedaços de bacon
fonte
Isso me dá o tamanho total do diretório atual. Não "listará todos os diretórios com seus respectivos tamanhos", conforme a pergunta.
Jonathan Mee
@JonathanMee Ver atualização.
Bacon Bits
Isso é perfeito e maravilhoso. Você pode adicionar um comentário na resposta que $BaseFolder = Get-ChildItem 'C:\Path\To\Folder';precisa ser definida com o caminho para a pasta na qual você deseja fazer o "dir"? Eu apenas tentei o código como está e isso obviamente não funcionou. Eu só quero que a próxima pessoa seja capaz de conectar e reproduzir seu código.
Jonathan Mee