Mobile-Menu

Datei-Management in Windows 10/11 und Windows Server Dateien und Ordner mit der PowerShell verwalten

Von Thomas Joos |

Mit der PowerShell lassen sich Dateien noch effektiver und schneller verwalten als in der grafischen Oberfläche. Microsoft stellt zahlreiche Cmdlets zur Verfügung, mit denen sich umfassende Kopier- oder auch Sicherungsaufgaben durchführen lassen. Wir zeigen in diesem Beitrag die Praxis.

Zur Datenverwaltung in Microsoft Windows 10/11 und Windows Server stehen etliche Cmdlets zur Verfügung – welche davon in der Praxis nützlich sind und wie sie eingesetzt werden, zeigt unser Artikel.
Zur Datenverwaltung in Microsoft Windows 10/11 und Windows Server stehen etliche Cmdlets zur Verfügung – welche davon in der Praxis nützlich sind und wie sie eingesetzt werden, zeigt unser Artikel.
(Bild: gemeinfrei / Pixabay)

PowerShell-Befehle mit dem Cmdlet Show-Command leichter erstellen

Die PowerShell kann eine umfangreiche Liste der zur Verfügung stehenden Cmdlets anzeigen, die für die Verwaltung von Dateien und Ordner und natürlich auch für alle anderen Aufgaben zum Einsatz kommen können. Das Cmdlet „Show-Command“ blendet ein neues Fenster mit allen Cmdlets ein, die in der PowerShell verfügbar sind. Sie können im Fenster nach Cmdlets suchen und sich eine Hilfe zum Befehl sowie Beispiele anzeigen lassen. Ebenso können Sie sich im Fenster durch die Befehle klicken und zudem komplexe Befehle erstellen. Hinzu kommt die Möglichkeit, einzelne PowerShell-Module anzuzeigen, zum Beispiel das Modul „Storage“.

Dateien mit der PowerShell kopieren und verschieben

Mit dem Cmdlet „Copy-Item“ kopieren Sie Dateien oder Ordner in der PowerShell. Mit dem Befehl „Copy-Item C:\Scripts\test.txt C:\Test“ wiederum kopieren Sie zum Beispiel die Datei „test.txt“. Die Syntax ist ähnlich zum Copy-Befehl der herkömmlichen Eingabeaufforderung.

Bildergalerie

Der Befehl „Copy-Item C:\Scripts\* C:\Test“ kopiert alle Dateien im entsprechenden Quellordner in den Zielordner. Der Befehl „Copy-Item C:\Scripts C:\Test -Recurse“ legt eine Kopie des Ordners „C:\Scripts“ im Ordner „C:\Test“ an. Ohne die Option „-Recurse“ wird in „C:\Test“ ein Ordner „Scripts“ angelegt, es werden aber keine Dateien und Ordner kopiert. Neben dem vollständigen Befehl kann auch mit den Abkürzungen „cpi“, „cp“ oder „copy“ gearbeitet werden.

Das Cmdlet „Move-Item“ verschiebt Objekte: „Move-Item C:\Scripts\test.zip c:\test“. Auch hier können Sie mit Platzhaltern arbeiten, genauso wie beim Kopieren. Standardmäßig überschreibt „Move-Item“ vorhandene Dateien im Zielordner nicht. Dazu dient der Parameter „-Force“, mit dem vorhandene Zieldateien oder Ordner überschrieben werden: „Move-Item C:\Scripts\test.zip C:\Test -Force“. Mit dem Befehl „Move-Item C:\Scripts\test.log C:\Test\ad.log“ verschieben Sie Dateien und benennen diese gleichzeitig um. Neben „Move-Item“ können Sie auch mit „mi“, „mv“ oder „move“ arbeiten. Mit dem Cmdlet „New-Item“ erstellen Sie neue Dateien oder Ordner.

Neue Dateien oder Verzeichnisse erstellen und Inhalte in Dateien erzeugen, ersetzen oder entfernen

Mit dem Befehl „New-Item C:\Temp\PowerShell -Type Directory“ erstellen Sie im Ordner „C:\Temp“ einen neuen leeren Ordner mit der Bezeichnung „PowerShell“.

Um eine neue Datei zu erstellen, verwenden Sie die gleiche Syntax, aber den Typ „File“: „New-Item C:\Scripts\skript.txt -Type File“. Mit dem Befehl „New-Item C:\Scripts\skript.txt -Type File -Force“ ersetzen Sie eine vorhandene Datei durch eine neue leere Datei. Mit dem Befehl „New-Item C:\Scripts\skript.txt -Type File -Force -Value "Text"“ erstellen Sie eine neue Datei mit dem angegebenen Text als Inhalt. Statt „New-Item“ können Sie auch „ni“ verwenden.

Mit dem Cmdlet „Add-Content“ fügen Sie Daten in eine Textdatei ein: „Add-Content C:\Scripts\test.txt "Text"“. Standardmäßig fügt „Add-Content“ den neuen Wert hinter dem letzten Zeichen in der Textdatei ein.

Den Inhalt einer Datei ersetzen Sie mit „Set-Content“. Das Cmdlet „Clear-Content“ löscht den Inhalt einer Datei. Nach der Ausführung existiert die Datei weiterhin, hat aber keinen Inhalt mehr. Auch hier können Sie mit Platzhalterzeichen arbeiten: „Clear-Content C:\Test\e*“. Neben Textdateien unterstützt das Cmdlet auch Excel-Tabellen, Word-Dokumente und andere Dateien. Statt „Clear-Content“ können Sie auch „clc“ verwenden.

Dateien und Ordner in der PowerShell löschen oder umbenennen

Das Cmdlet „Remove-Item“ löscht Objekte: „Remove-Item C:\Scripts\test.txt“. Mit dem Platzhalterzeichen * löschen Sie Objekte in einem angegebenen Ordner: „Remove-Item C:\Scripts\*“. Mit dem Befehl „Remove-Item C:\Scripts\* -Recurse“ muss das Löschen nicht bestätigt werden. Der Befehl „Remove-Item C:\Scripts\* -Exclude *.doc“ löscht alle Dateien, außer denen, die Sie mit -„Exclude“ ausgeschlossen haben. „Remove-Item C:\Scripts\* -Include .xls,.doc“ löscht nur die Dateien hinter „-Include“.

Beide Optionen können Sie auch gemeinsam verwenden, zum Beispiel: „Remove-Item C:\Scripts\* -Include *.txt -Exclude *test*“. Hier löscht die PowerShell alle Textdateien im Ordner, außer Dateien mit der Zeichenfolge »test« im Dateinamen. Der Parameter „-Whatif“ entfernt nichts, gibt aber aus, was passieren würde: „Remove-Item C:\windows\*.exe -Whatif“.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Netzwerktechnik, IP-Kommunikation und UCC

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Statt „Remove-Item“ können Sie auch „ri“, „rd“, „erase“, „rm“, „rmdir“ oder „del“ verwenden. Vorhandene Objekte benennen Sie mit dem Cmdlet „Rename-Item“ um: „Rename-Item C:\Scripts\test.txt neu.txt“. Die Kurzbefehle „rni“ und „ren“ führen ebenfalls zum Ziel.

Objekte in der Powershell effektiver anzeigen und filtern

Das Cmdlet „Get-ChildItem“ hat eine ähnliche Funktionalität wie der Befehl „Dir“ und kann auch den Inhalt von Registryschlüsseln anzeigen. Mit „Get-ChildItem -Recurse“ wird auch der Inhalt der Unterordner angegeben, ähnlich zu „dir /s“, nur übersichtlicher.

„Get-ChildItem HKLM:\SOFTWARE“ zeigt den Inhalt des Registryschlüssels HKLM an. Durch die PowerShell-Laufwerke können Sie alle Registryschlüssel auf diese Weise auslesen. Auch hier können Sie mit den beiden Parametern „-Include“ und „-Exclude“ arbeiten. Diese beiden Parameter funktionieren an allen Stellen der PowerShell, auch bei der Anzeige von Informationen und Inhalten eines Ordners: „Get-ChildItem C:\Windows\*.* -Include *.exe,*.pif“. Die Funktionsweise ist ähnlich zu „Copy-Item“ beziehungsweise „Remove-Item“. Die zurückgegebenen Informationen können auch an das Cmdlet „Sort-Object“ weitergegeben werden, um eine Sortierung durchzuführen: „Get-ChildItem C:\Windows\*.* | Sort-Object Length“.

Mit „Get-ChildItem C:\Windows\*.* | Sort-Object Length -Descending“ wird mit den größten Dateien begonnen. Für den Befehl können Sie auch die Aliase „gci“, „ls“ und „dir“ verwenden.

Das Cmdlet „Test-Path“ überprüft das Vorhandensein einer Datei oder eines Ordners: „Test-Path C:\Temp“. „Test-Path“ gibt „True“ zurück, wenn die Datei vorhanden ist, und „False“, wenn die Datei nicht vorhanden ist. Auch hier können Sie mit Platzhaltern arbeiten.

Die Anweisung „Test-Path HKCU:\Software\Microsoft\Windows\“ testet, ob ein bestimmter Registryschlüssel vorhanden ist. Mit dem Cmdlet „Invoke-Item“ können Sie über die Windows PowerShell auch eine ausführbare Datei starten oder eine Datei öffnen: „Invoke-Item C:\Windows\System32\Calc.exe“. Statt „Invoke-Item“ können Sie auch „ii“ verwenden.

(ID:48712031)