Wie kann ich große Dateien mit der Kommandozeile unter Windows finden?
- Einleitung
- Verwendung der Eingabeaufforderung (cmd)
- Verwendung der PowerShell
- Erweiterte Beispiele und Tipps
- Fazit
Einleitung
Wenn Sie auf einem Windows-System mithilfe der Kommandozeile große Dateien aufspüren möchten, gibt es verschiedene Möglichkeiten, dies zu tun. Die Eingabeaufforderung (cmd) oder die PowerShell bieten jeweils unterschiedliche Werkzeuge an, um Dateien anhand ihrer Größe zu filtern. Hier wird detailliert erklärt, wie Sie vorgehen können, um große Dateien über die Kommandozeile zu finden.
Verwendung der Eingabeaufforderung (cmd)
Die klassische Eingabeaufforderung bietet nicht viele fortgeschrittene Werkzeuge zum Filtern von Dateien nach Größe. Dennoch kann man durch Kombination einiger Befehle grundlegende Suchfunktionen umsetzen.
Ein nützlicher Befehl dafür ist dir. Mit dir /S listet man alle Dateien in einem Verzeichnis und seinen Unterverzeichnissen auf, inklusive Dateigröße. Leider bietet dir keine direkte Möglichkeit, nur Dateien über einer bestimmten Größe auszugeben. Sie können jedoch die Ausgabe in eine Datei speichern und dann z.B. mit einem Texteditor oder weiteren Tools filtern.
Beispielbefehl:
dir C:\Pfad\zum\Verzeichnis /S > dateiliste.txtDanach können Sie die Datei dateiliste.txt durchsuchen und nach großen Dateien Ausschau halten.
Alternativ kann man das Tool forfiles nutzen, das ab Windows Vista standardmäßig vorhanden ist. Mit forfiles lassen sich Dateien nach Größe filtern:
forfiles /P C:\Pfad\zum\Verzeichnis /S /M *.* /C "cmd /c if @fsize GEQ 104857600 echo @path @fsize"Dieser Befehl sucht rekursiv (/S) im angegebenen Pfad alle Dateien (*.*) und überprüft mit der eingebetteten Kommandozeile, ob die Dateigröße (@fsize) größer oder gleich 100 MB (104.857.600 Bytes) ist. Entsprechende Dateien werden mit vollständigem Pfad und Größe ausgegeben.
Verwendung der PowerShell
Die PowerShell ist wesentlich mächtiger und flexibler als die klassische Eingabeaufforderung. Sie ermöglicht durch das Zusammenspiel von Cmdlets eine komfortable und schnelle Suche nach großen Dateien.
Um zum Beispiel alle Dateien größer als 100 MB in einem Ordner und dessen Unterordnern zu finden, können Sie folgenden Befehl verwenden:
Get-ChildItem -Path "C:\Pfad\zum\Verzeichnis" -Recurse -File | Where-Object { $_.Length -ge 100MB } | Sort-Object Length -Descending | Select-Object FullName, LengthErklärung der einzelnen Bestandteile:
Get-ChildItem (aliased als gci oder ls) durchläuft rekursiv (-Recurse) alle Dateien (-File) im angegebenen Pfad.
Mit Where-Object werden nur Dateien gefiltert, deren Größe (Length) größer oder gleich 100 Megabyte ist (100MB ist eine PowerShell-Notation für Byte-Größen).
Sort-Object Length -Descending sortiert die Ergebnisse nach Dateigröße absteigend.
Select-Object FullName, Length zeigt den vollständigen Pfad und die Größe an, sodass die Ausgabe übersichtlich bleibt.
Erweiterte Beispiele und Tipps
Falls Sie nur die 10 größten Dateien in einem Ordner finden möchten, können Sie die Ausgabe noch mit Select-Object -First 10 ergänzen:
Get-ChildItem -Path "C:\Pfad\zum\Verzeichnis" -Recurse -File | Sort-Object Length -Descending | Select-Object FullName, Length -First 10Falls Sie lieber die Größen in Megabyte oder Gigabyte ausgegeben bekommen möchten, können Sie dies mit einer zusätzlichen Berechnung innerhalb von Select-Object realisieren:
Get-ChildItem -Path "C:\Pfad\zum\Verzeichnis" -Recurse -File | Where-Object { $_.Length -ge 100MB } | Sort-Object Length -Descending |Select-Object FullName, @{Name=SizeMB;Expression={ ::Round($_.Length/1MB,2)}}
Select-Object FullName, @{Name=SizeMB;Expression={ ::Round($_.Length/1MB,2)}}
Dieser Befehl zeigt die Größe der Dateien auf zwei Dezimalstellen gerundet in Megabyte an.
Fazit
Um große Dateien unter Windows über die Kommandozeile zu finden, empfiehlt sich besonders die PowerShell aufgrund ihrer Flexibilität und Leistungsfähigkeit. Wer die reine Eingabeaufforderung verwendet, kann auch das Tool forfiles nutzen, um Dateien über einer bestimmten Größe aufzulisten. Für einfache Zwecke können Sie die Dateiliste mit dir exportieren und nach Größe manuell oder mit weiteren Werkzeugen filtern. Die PowerShell stellt aber eine praktische und effiziente Lösung dar, die sich schnell an verschiedene Anforderungen anpassen lässt.
