Ich möchte die Größe von Unterordnern in einem Ordner sehen, ähnlich wie bei einem Linux- du -sh
Befehl. Wie kann ich Verzeichnisse und ihre Größen in der Eingabeaufforderung auflisten?
Ich möchte die Größe von Unterordnern in einem Ordner sehen, ähnlich wie bei einem Linux- du -sh
Befehl. Wie kann ich Verzeichnisse und ihre Größen in der Eingabeaufforderung auflisten?
Antworten:
Probieren Sie das Dienstprogramm " Disk Usage" von Sysinternals aus. Insbesondere du -l 1
sollte die Größe jedes Unterverzeichnisses des aktuellen Verzeichnisses angezeigt werden. Weitere Informationen erhalten Sie, wenn Sie den du
Befehl ohne Parameter ausführen .
Wenn PowerShell in Ordnung ist, versuchen Sie Folgendes:
Get-ChildItem |
Where-Object { $_.PSIsContainer } |
ForEach-Object {
$_.Name + ": " + (
Get-ChildItem $_ -Recurse |
Measure-Object Length -Sum -ErrorAction SilentlyContinue
).Sum
}
Die Größen sind in Bytes angegeben. Versuchen Sie Folgendes, um sie in einer größeren Einheit wie MB zu formatieren (auf eine Zeile zusammengefasst):
Get-ChildItem | Where-Object { $_.PSIsContainer } | ForEach-Object { $_.Name + ": " + "{0:N2}" -f ((Get-ChildItem $_ -Recurse | Measure-Object Length -Sum -ErrorAction SilentlyContinue).Sum / 1MB) + " MB" }
Weitere Informationen finden Sie in diesem Artikel bei Technet .
Wenn Sie eine flexiblere Formatierung der Größen wünschen (Auswahl von kB / MB / GB / etc basierend auf der tatsächlichen Größe), lesen Sie diese Frage und deren Antworten .
Ich denke nicht, dass es möglich ist, mit der regulären Befehlszeile und nur wenigen einfachen Befehlen das zu tun, was Sie wollen. Sehen Sie sich dieses Skript als Beispiel an (ich werde es hier nicht kopieren, weil ich nicht der Meinung bin, dass es sich lohnt, diesen Ansatz zu verfolgen, es sei denn, PowerShell ist nicht verfügbar und Dienstprogramme von Drittanbietern sind nicht akzeptabel).
Ich habe keine Erfahrung mit du
Linux. In Windows dir /s
liste ich jedoch alle Ordner und Unterordner zusammen mit den Dateigrößen auf.
/S
Schalter zeigt keine Verzeichnisgrößen an, sondern lässt den Befehl rekursiv alle Unterverzeichnisse durchlaufen.