¿Existe una opción de línea de comandos de Windows para mostrar los tamaños de los directorios?

0

Cuando hago un dir Mándelo, da esta información:

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

¿Hay un interruptor o incluso un comando de PowerShell que pueda hacer y que incluya todos los directorios? con ¿Sus respectivos tamaños?

Jonathan Mee
fuente
No es realmente una respuesta directa pero Cygwin pastebin.com/raw.php?i=VAD7x7Lr listar directorios find -type d Listar directorios con tamaños du -h
barlop
@barlop lamentablemente no tiene acceso a Cygwin. Tiene que ser PowerShell lo que parece.
Jonathan Mee

Respuestas:

2

Trivial en 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 obtener cada carpeta en una carpeta específica y calcular cada una, simplemente repita en ellas:

$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;
Bacon Bits
fuente
Esto me da el tamaño total del directorio actual. No "listará todos los directorios con sus respectivos tamaños", como lo hace la pregunta.
Jonathan Mee
@JonathanMee Ver actualización.
Bacon Bits
Eso es perfecto, y maravilloso. Puedes agregar un comentario en la respuesta que $BaseFolder = Get-ChildItem 'C:\Path\To\Folder'; debe configurarse con la ruta a la carpeta en la que desea hacer el "dir"? Acabo de probar el código como está y eso obviamente no funcionó. Solo quiero que la siguiente persona pueda conectar y reproducir su código.
Jonathan Mee