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.
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“.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.
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.