Cmdlet-Dateisystemoperationen
Dateisystemvorgänge gehören zu den häufigsten und praktischsten Aufgaben in PowerShell.
Von der Erstellung, dem Kopieren, Verschieben und Löschen von Dateien bis zum Abrufen von Dateiattributen und der Stapelverarbeitung von Verzeichnisstrukturen bietet PowerShell eine große Anzahl prägnanter und leistungsstarker Cmdlets, um diese Vorgänge auszuführen.
1. Verzeichnisinhalte anzeigen:Get-ChildItem
Get-ChildItem
Dies ist der Befehl in PowerShell zum Anzeigen von Verzeichnisinhalten (entsprichtlsoderdir) Befehl. Standardmäßig listet er alle Dateien und Unterverzeichnisse im aktuellen Verzeichnis auf.
Du kannst auch den Pfadparameter verwenden:
Get-ChildItem -Path C:\Test
Alle Unterverzeichnisse anzeigen (rekursiv):
Get-ChildItem -Path C:\Test -Recurse
Nach Dateityp filtern:
Get-ChildItem -Path C:\Test -Filter *.txt
2. Dateien und Verzeichnisse erstellen:New-Item
Ein neues Verzeichnis erstellen:
New-Item -Path "C:\Demo" -ItemType Directory
Eine neue Datei erstellen:
New-Item -Path "C:\Demo\example.txt" -ItemType File
Tipp: Wenn das übergeordnete Verzeichnis im Pfad nicht existiert, wird ein Fehler gemeldet. Du musst das übergeordnete Verzeichnis zuerst manuell oder per Skript erstellen.
3. Kopieren und Verschieben:Copy-ItemundMove-Item
Eine Datei kopieren:
Copy-Item -Path "C:\Demo\example.txt" -Destination "D:\Backup"
Einen gesamten Ordner kopieren (einschließlich seines Inhalts):
Copy-Item -Path "C:\Demo" -Destination "D:\Backup" -Recurse
Eine Datei verschieben:
Move-Item -Path "C:\Demo\example.txt" -Destination "C:\Demo2"
4. Dateien und Verzeichnisse löschen:Remove-Item
Eine Datei löschen:
Remove-Item -Path "C:\Demo\example.txt"
Einen Ordner und seinen Inhalt löschen:
Remove-Item -Path "C:\Demo" -Recurse -Force
Erklärung:
-Recurse: Alle Inhalte unter dem Verzeichnis löschen-Force: Versteckte oder schreibgeschützte Dateien zwangsweise löschen
5. Dateien lesen und schreiben:Get-Content / Set-Content / Add-Content
Dateiinhalte lesen:
Get-Content -Path "C:\Demo\example.txt"
Inhalt schreiben (überschreiben):
Set-Content -Path "C:\Demo\example.txt" -Value "Hello PowerShell"
Inhalt anhängen:
Add-Content -Path "C:\Demo\example.txt" -Value "Another line"
6. Umbenennen von Dateien und Existenzprüfung
Eine Datei umbenennen:
Rename-Item -Path "C:\Demo\example.txt" -NewName "renamed.txt"
Feststellen, ob eine Datei existiert:
Test-Path -Path "C:\Demo\renamed.txt"
Gibt True zurück, wenn sie existiert, andernfalls gibt sie False zurück.
7. Dateieigenschaften abrufen:Get-Item
$item = Get-Item -Path "C:\Demo\renamed.txt" $item.Length # 文件大小(字节) $item.CreationTime # 创建时间 $item.Extension # 扩展名
Hinweis: Der Rückgabewert ist ein
System.IO.FileInfoTypobjekt, und Sie können weiterhin die Eigenschaften des Objekts verwenden.
8. Beispiel für kombinierte Operationen: Stapelverarbeitung von Dateien
Alle im Verzeichnis stapelweise auflisten.logGesamtdateigröße:
Get-ChildItem -Path "C:\Logs" -Filter *.log | Measure-Object -Property Length -Sum
Beispielausgabe:
Count : 15 Sum : 1289345 Property : Length
Inhalte aller .txt-Dateien an eine neue Datei anhängen:
Get-ChildItem -Path "C:\TextFiles" -Filter *.txt | ForEach-Object {
Get-Content $_.FullName | Add-Content -Path "C:\AllText.txt"
}
9. Vorsichtsmaßnahmen und häufige Fallstricke
| Problem | Beschreibung |
|---|---|
| Leerzeichen im Pfad | Anführungszeichen verwenden"um die gesamte Pfadzeichenkette einzuschließen |
| Verzeichnisse und Dateien unterscheiden | New-ItemMuss angegeben werden-ItemType FileoderDirectory |
| Fehler bei der Operation, wenn die Datei nicht existiert | Verwenden SieTest-Pathvor der Verarbeitung prüfen |
| Seien Sie vorsichtig bei Löschbefehlen | Remove-ItemVerwenden Sie-Recursemit Vorsicht, um versehentliches Löschen zu vermeiden |
10. Zusammenfassung und Empfehlungen
PowerShell ist sehr leistungsstark bei Dateisystemvorgängen und bietet die folgenden Vorteile:
- Befehle sind intuitiv und einheitlich, mit geringem Lernaufwand
- Unterstützt Objektoperationen und kann mit anderen Befehlen kombiniert werden
- Kann für Batch-Aufgaben und Automatisierungsskripte verwendet werden
Empfohlene Lernmethode:
- Üben Sie verschiedene Befehle wiederholt in einem temporären Verzeichnis
- Beherrschen Sie die fünf Kernbefehle:
New-Item、Remove-Item、Copy-Item、Get-Content、Set-Content - Versuchen Sie, Befehle in Skripte zu kapseln, um mehrere Dateien stapelweise zu verarbeiten