Wie kann man mit PowerShell die Größe von Ordnern ermitteln?
- Einführung in die Ermittlung von Ordnergrößen mit PowerShell
- Grundlagen zur Berechnung von Ordnergrößen via PowerShell
- Einfaches Beispiel-Skript zur Ordnergrößen-Abfrage
- Erweiterte Darstellung – Größen für alle Unterordner
- Fazit
Einführung in die Ermittlung von Ordnergrößen mit PowerShell
Die Größe von Ordnern zu überprüfen ist eine häufige Anforderung in der Systemadministration oder auch zur eigenen Übersicht.
Während traditionelle grafische Benutzeroberflächen oft nur grobe Informationen liefern, bietet PowerShell eine flexible Möglichkeit,
detaillierte Angaben zu erhalten. Mit PowerShell können Sie sowohl die Gesamtgröße eines Ordners als auch die Größen der enthaltenen Unterordner erfassen.
Grundlagen zur Berechnung von Ordnergrößen via PowerShell
PowerShell verwendet Objekte, die das Dateisystem repräsentieren, um Informationen abzurufen. Die grundlegende Methode zur Ermittlung der Ordnergröße besteht darin, die Größe aller darin enthaltenen Dateien zu summieren.
Da Ordner in Windows selbst keine Größe haben, sondern die enthaltenen Dateien ausschlaggebend sind, wird die Summe der Dateigrößen als Ordnergröße betrachtet.
Dies kann mit dem Cmdlet Get-ChildItem kombiniert mit Measure-Object erledigt werden.
Einfaches Beispiel-Skript zur Ordnergrößen-Abfrage
Ein simples Beispiel ist der folgende PowerShell-Befehl, der für einen angegebenen Pfad die Gesamtgröße aller Dateien darin berechnet:
$path = "C:\Beispielordner"$files = Get-ChildItem -Path $path -Recurse -File$totalSize = ($files | Measure-Object -Property Length -Sum).Sum$totalSizeMB = ::Round($totalSize / 1MB, 2)Write-Output "Die Größe des Ordners $path beträgt $totalSizeMB MB."Hierbei durchsucht Get-ChildItem rekursiv alle Dateien im angegebenen Ordner. Über Measure-Object wird die Summe der Dateigrößen ermittelt und anschließend auf Megabyte umgerechnet.
Erweiterte Darstellung – Größen für alle Unterordner
Ein häufig gewünschtes Szenario ist es, nicht nur die Gesamtgröße eines Ordners zu ermitteln, sondern auch für alle enthaltenen Unterordner jeweils die Größen anzuzeigen.
Dies lässt sich mit einer Schleife realisieren, die alle Unterordner durchläuft und für jeden die Dateigrößen summiert.
Ein mögliches Skript könnte so aussehen:
$rootPath = "C:\Beispielordner"$folders = Get-ChildItem -Path $rootPath -Recurse -Directoryforeach ($folder in $folders) { $files = Get-ChildItem -Path $folder.FullName -Recurse -File $totalSize = ($files | Measure-Object -Property Length -Sum).Sum $totalSizeMB = ::Round($totalSize / 1MB, 2) Write-Output "Ordner: $($folder.FullName) - Größe: $totalSizeMB MB"}Dieses Skript durchläuft alle Unterordner und gibt deren Größe aus. Es lässt sich beliebig erweitern, etwa zur Ausgabe in eine CSV-Datei oder zur Integration in Berichte.
Fazit
PowerShell ist ein mächtiges Werkzeug, um Ordnergrößen detailliert und automatisiert zu ermitteln. Mit Befehlen wie Get-ChildItem und Measure-Object lassen sich einfache wie komplexe Anforderungen abdecken.
Durch skriptgesteuerte Auswertungen sparen Sie Zeit und erhalten genaueres Wissen über Speicherplatznutzung auf Ihrem System.
