Existe-t-il une option de ligne de commande de la fenêtre pour afficher la taille des répertoires

0

Quand je fais une dircommande, donne cette information:

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-t-il un commutateur ou même une commande PowerShell que je puisse effectuer, qui répertorie tous les répertoires avec leurs tailles respectives?

Jonathan Mee
la source
pas vraiment une réponse directe mais cygwin pastebin.com/raw.php?i=VAD7x7Lr liste des répertoires find -type d liste des répertoires avec taillesdu -h
barlop
@barlop n'a malheureusement pas accès à Cygwin. Cela doit être PowerShell semble-t-il.
Jonathan Mee

Réponses:

2

Trivial dans 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

Pour obtenir chaque dossier dans un dossier spécifié et le calculer, il suffit de le parcourir:

$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;
Lardons
la source
Cela me donne la taille totale du répertoire en cours. La question ne sera pas "lister tous les répertoires avec leurs tailles respectives".
Jonathan Mee
@JonathanMee Voir la mise à jour.
Bacon Bits
C'est parfait et merveilleux. Pouvez-vous ajouter un commentaire dans la réponse qui $BaseFolder = Get-ChildItem 'C:\Path\To\Folder';doit être défini avec le chemin du dossier dans lequel vous voulez faire le "dir"? J'ai juste essayé le code tel quel et cela n'a évidemment pas fonctionné. Je veux juste que la personne suivante puisse brancher et jouer votre code.
Jonathan Mee