Windows 10

PowerShell-Dateisuche unter Windows mit tabellarischer Ausgabe

17.04.2019 von Thomas Rieske
Für viele ist die PowerShell nach wie vor gewöhnungsbedürftig. Das betrifft nicht nur die textbasierte Eingabe von Befehlen, sondern auch die recht spartanische Ausgabe. Dabei kann das integrierte Tool Ergebnisse durchaus in einer Tabellenansicht zurückliefern.

Vorteile einer tabellarischen Ausgabe

Eine grafisch aufbereitete Ausgabe eignet sich immer dann, wenn aufgrund der Vielzahl der angezeigten Informationen in einem Textfenster zu viel gescrollt werden muss. Das Paradebeispiel für diesen Anwendungsfall sind Dateien mit einer bestimmten Größe, denen man auf die Spur kommen will.

Windows 10 - PowerShell-Dateisuche mit grafischer Ausgabe
Windows 10 - Powershell
Die PowerShell starten Sie über das erweiterte Startmenü, das Sie etwa mithilfe der Tastenkombination Windows+X erreichen.
Windows 10 - Powershell
Mit dem angezeigten Befehl rufen Sie im aktuellen Verzeichnis rekursiv alle Objekte ab, die größer als 200 MByte sind. Das geschieht erst noch ohne grafische Ausgabe.
Windows 10 - Powershell
Die Präsentation der Ergebnisse fällt wie in einer textbasierten Konsole üblich eher spartanisch aus. Zudem ist bei den letzten drei Files die exakte Größenangabe abgeschnitten.
Windows 10 - Powershell
Mit diesem Befehl erfolgt die Ausgabe in grafischer Tabellenform. Zuständig dafür ist die Angabe „Out-Gridview“ nach der letzten Pipe.
Windows 10 - Powershell
Per Default ist die Tabelle nach den Dateinamen innerhalb des jeweiligen Ordners sortiert. Auffällig ist, dass die zuvor abgeschnittene Größenangabe von drei Dateien hier vollständig erscheint.
Windows 10 - Powershell
Um nach anderen Kriterien zu sortieren, klicken Sie einfach auf den jeweiligen Spaltenkopf. Im Beispiel wird nach absteigender Größe sortiert.
Windows 10 - Powershell
Sie können die angezeigten Ergebnisse weiter begrenzen. Dazu dient das etwas unscheinbare Filter-Feld. Finden lassen sich auf diese Weise ausschließlich Strings.

Tabelle mit PowerShell erzeugen

Dazu öffnen Sie eine PowerShell per Rechtsklick auf den Start-Button (Shortcut Windows+X). Nun navigieren Sie zu dem Verzeichnis, das Sie durchsuchen möchten, etwa zum Download-Ordner des aktuellen Benutzers. Mit folgendem Befehl sehen Sie alle Dateien, die 200 MByte oder größer sind, in einer grafischen Tabelle:

Get-ChildItem -Recurse -File | Where-Object {$_.length -ge 200000000} | select FullName,Length | Out-Gridview

Mit Get-ChildItem rufen Sie alle Elemente am aktuellen Ort ab. Dies geschieht aufgrund des Parameters Recurse rekursiv, erfasst werden also auch Dateien in Unterordnern. Mit dem ersten Pipe-Zeichen und dem Cmdlet Where-Object lässt sich überprüfen, ob die Elemente in der Pipeline die nachfolgende Bedingung erfüllen. Hierbei verweist die spezielle Variable $_ innerhalb der geschweiften Klammer auf das aktuelle Objekt in der Pipeline.

Beim Parameter -ge handelt es sich um einen Vergleichsoperator, der den Schwellenwert, angegeben in Byte, steuert. Über das zweite Pipe-Zeichen selektieren Sie den vollständigen Pfadnamen und die Größe der gefilterten Objekte. Zu guter Letzt erfolgt mithilfe der dritten Pipe die Ausgabe in einer tabellarischen Übersicht.

PowerShell-Tabellen sortieren

Diese Tabelle lässt sich sehr einfach sortieren, indem Sie einfach auf den betreffenden Spaltenkopf klicken. Darüber hinaus steht ein kleines Feld mit der Bezeichnung Filter zur Verfügung, über das Sie innerhalb der Ergebnisse suchen können. Dadurch ist es möglich, bei einer sehr großen Zahl von Elementen die Übersicht zu verbessern. Die auf diese Weise angezeigten Dateien können Sie allerdings von der Tabelle aus nicht weiter manipulieren, etwa löschen oder verschieben. Auch ein direkter Sprung in den Windows-Explorer ist nicht vorgesehen. (hal)