Die Windows PowerShell ist ein hervorragendes Werkzeug für die Administration von Windows Clients und natürlich auch Windows Servern. Aber mittlerweile beschränkt sie sich nicht nur mehr auf Windows Geräte, sondern es gibt sie auch für macOS oder Linux.
Das liegt daran, dass die PowerShell nun eine Open-Source-Software ist. Eine der häufigsten Tätigkeiten, die mit der PowerShell auftreten, ist das Auflisten des Inhaltes eines Verzeichnisses. Dieser Artikel soll kurz die Möglichkeiten aufzeigen, wie man das sehr einfach durchführen kann. Nicht nur das Auflisten, sondern auch das exportieren, wird vielfach benötigt.
Video – Arbeiten mit Dateien & Verzeichnissen in der PowerShell
Das zu verwendende Cmdlet heist Get-ChildItem. Das erste Beispiel soll zeigen, wie man alle Verzeichnisse im aktuellem Pfad auflistet. Mit Get-Help und dem Parameter -detailed erhält man eine ausführliche Hilfe hierzu.
Get-Help Get-ChildItem -detailed
Welche Attribute angezeigt werden sollen, können einfach nach dem „Select“ Befehl angegeben werden. So wäre z.B. das übergeordnete Verzeichnis möglich und natürlich auch der Name oder die Länge. Wie bereits bekannt, dient die Pipe zur Weiterverarbeitung von Befehlen. So könnt man das Ergebnis anschließend auch noch sortieren.
Get-ChildItem | select Parent,Name,Length
Get-ChildItem | select Parent,Name,Length | sort Length
Was damit allerdings noch nicht angezeigt wird, sind die Unterverzeichnisse. Auch dafür bietet die PowerShell einen passenden Parameter an. Mit Recurse lassen sich diese ebenso auflisten.
Get-ChildItem -Recurse | select Parent,Name,Length | sort Length
Im letzten Schritt wäre noch eine weitere Anwendung, dass man die Namen der Verzeichnisse in eine .csv oder .txt Datei exportiert. Auch dazu verwendet man wieder die Pipe. Das folgende Beispiel exportiert alle Namen in eine .csv Datei mit den Namen Inhalt-Verzeichnis.
Get-ChildItem -Recurse | select Parent,Name,Length | sort Length | Export-Csv -Path c:DatenInhalt-Verzeichnis.csv
Das CmdLet Get-ChildItem bietet sehr interessante Möglichkeiten. Als weiteres Beispiel möchte ich noch auf den Artikel: Windows Kurzbefehle mit der PowerShell herausfinden, verweisen. Dort wird gezeigt, wie man mit Filter bestimmte Dateitypen auflistet. So erhält man daraus z. B. alle Kurzbefehle.
Wenn du mehr über die Windows PowerShell lernen möchtest, so findest du auch immer hervorragende und ausführliche Kurse auf Udemy. Zu empfehlen sind die Kurse von Patrick Grünauer: Der Einsteigerkurse ist dabei folgender: Automatisierung mit PowerShell (1/3): Grundlagen.*
Das könnte ich auch interessieren:
- Mit der Windows PowerShell den Inhalt eines Verzeichnisses mit dessen Unterverzeichnissen komplett auflisten
- So kann man sich mit der Windows Powershell den belegten Speicherplatz eines Verzeichnisses anzeigen lassen
- Mit der Windows PowerShell die Anzahl der Dateien in einem Verzeichnis zählen
- Windows PowerShell Modul kann nicht importiert werden
- 5 Dinge, die du beim Arbeiten mit der Windows PowerShell und Dateien kennen solltest
Steigere dein Wissen
Kostenlose Befehlsreferenzen und E-Books herunterladen
Hallo, wie kann ich den alten DOS Befehl: dir /s /a-d >content.txt, mit Powershell umsetzen?
Ausgegeben wird in eine txt, mit allen Unterordnern und Dateinamen. Spalte 1 Erstelldatum, Spalte 2 größe der Datei, Spalte 3 Name der Datei, am Ende immer die gesamtgröße. Für eine Hilfe währe ich Dankbar
Hallo Eddy,
ich bin mir nicht ganz sicher, welche Ausgabe du genau haben möchtest. Aber ich würde es mal so versuchen:
Get-Childitem -Recurse -Path c:\testordner > Content.txt
Viele Grüße
Markus