Get-ChildItem ·
New-Item ·
Copy-Item ·
Move-Item ·
Remove-Item ·
Get-Content ·
Set-Content
Mit diesen Cmdlets können Sie Dateien und Verzeichnisse auflisten, erstellen, kopieren, verschieben, löschen sowie Dateiinhalte lesen und schreiben.
Get-ChildItem (Alias: dir, ls) listet Dateien und Verzeichnisse auf. Mit Optionen wie -Recurse und -File lässt sich die Ausgabe präzise steuern.
| Option | Beschreibung |
|---|---|
| -Recurse | Rekursive Suche in Unterverzeichnissen |
| -File | Nur Dateien anzeigen |
| -Directory | Nur Verzeichnisse anzeigen |
| -Filter | Filtert nach Dateinamen (Wildcards) |
| -Hidden | Versteckte Elemente einbeziehen |
| -Depth | Rekursionstiefe begrenzen |
Get-ChildItem:Get-ChildItem -Recurse -File *.log ist die PowerShell-Entsprechung zu find . -name "*.log" unter Linux.
New-Item erstellt neue Dateien oder Verzeichnisse. Mit -ItemType wird der Typ festgelegt.
| Option | Beschreibung |
|---|---|
| -Path | Pfad der neuen Datei / des neuen Verzeichnisses |
| -ItemType File | Erstellt eine leere Datei |
| -ItemType Directory | Erstellt ein Verzeichnis |
| -Value | Inhalt für die neue Datei (optional) |
| -Force | Überschreibt vorhandene Elemente |
New-Item -ItemType Directory -Path .\src\lib\utils -Force erstellt alle fehlenden Unterverzeichnisse, falls sie noch nicht existieren.
Copy-Item kopiert Dateien oder Verzeichnisse (mit -Recurse). Die Quelle bleibt unverändert.
| Option | Beschreibung |
|---|---|
| -Destination | Zielpfad (Datei oder Verzeichnis) |
| -Recurse | Kopiert Verzeichnisse rekursiv |
| -Force | Überschreibt vorhandene Dateien |
| -Filter | Filtert die zu kopierenden Elemente |
-Force, um vorhandene Dateien zu überschreiben. Ohne -Force werden Sie bei Konflikten nach einer Bestätigung gefragt.
Move-Item verschiebt Dateien oder Verzeichnisse – oder benennt sie um, wenn Quelle und Ziel im gleichen Verzeichnis liegen.
| Option | Beschreibung |
|---|---|
| -Destination | Zielpfad (neuer Name oder neuer Ort) |
| -Force | Überschreibt vorhandene Dateien |
| -Filter | Filtert die zu verschiebenden Elemente |
Copy-Item) und Verschieben (Move-Item). Verwenden Sie das richtige Cmdlet, um versehentliches Löschen zu vermeiden.
Remove-Item löscht Dateien und (mit -Recurse) Verzeichnisse. Dieser Befehl ist endgültig – es gibt keinen Papierkorb!
| Option | Beschreibung |
|---|---|
| -Recurse | Löscht Verzeichnisse mit gesamten Inhalt |
| -Force | Überspringt Warnungen (auch versteckte/read-only Dateien) |
| -Filter | Filtert die zu löschenden Elemente |
Remove-Item -Recurse -Force löscht Verzeichnisse endgültig und unwiderruflich. Überprüfen Sie immer den Pfad, bevor Sie diesen Befehl ausführen!
Get-Content (Alias: cat, type) liest den Inhalt einer Datei und gibt ihn aus. Mit -Tail können Sie die letzten Zeilen anzeigen (ähnlich tail unter Linux).
| Option | Beschreibung |
|---|---|
| -Tail N | Zeigt die letzten N Zeilen an (standardmäßig 10) |
| -Wait | Überwacht die Datei auf neue Einträge (wie tail -f) |
| -TotalCount N | Zeigt nur die ersten N Zeilen |
| -Raw | Liest die gesamte Datei als einzelner String |
Get-Content datei.txt:Get-Content -Tail 100 -Wait ist die PowerShell-Version von tail -f – perfekt für die Überwachung von Log-Dateien.
Set-Content schreibt Text in eine Datei – der vorhandene Inhalt wird überschrieben. Mit Add-Content können Sie hingegen Text an eine Datei anhängen.
| Option | Beschreibung |
|---|---|
| -Value | Der Inhalt, der geschrieben werden soll |
| -Encoding | Zeichensatz (z.B. UTF8, ASCII) |
| -NoNewline | Keine neue Zeile am Ende hinzufügen |
Add-Content können Sie Text an eine Datei anhängen, ohne den vorhandenen Inhalt zu überschreiben. Verwenden Sie Set-Content, um eine Datei komplett zu ersetzen.
Get-ChildItem
New-Item
Copy-Item
Move-Item
Remove-Item
Get-Content
Set-Content
Get-ChildItem -Recurse -File *.log | Copy-Item -Destination C:\backup\ – Alle .log-Dateien rekursiv kopieren