Kommandozeile

Die besten Profi-Befehle für Windows

13.01.2024
Von Thorsten Eggeling

Dateien ansehen, kopieren, löschen und mehr

Textdateien bearbeiten: Einen Editor für das Terminal bietet Powershell nicht. Man kann aber auf den Editor nano aus dem Windows Subsystem für Linux ausweichen.
Textdateien bearbeiten: Einen Editor für das Terminal bietet Powershell nicht. Man kann aber auf den Editor nano aus dem Windows Subsystem für Linux ausweichen.

Unter Windows verwenden die meisten Programme die Registry als Konfigurationsspeicher. Textdateien kommen nur selten zum Einsatz. Wer schnell einen Blick in eine Konfigurationsdatei werfen möchte, verwendet beispielsweise

Get-Content C:\Windows\System32\drivers\etc\hosts

Die Alias sind cat und type, wie bei Bash beziehungsweise der Eingabeaufforderung. Einen Texteditor für das Terminal gibt es für Windows bisher nicht. Man kann aber WSL nutzen:

wsl nano /mnt/c/Windows/System32/drivers/etc/hosts

Eine Alternative ist nano aus dem Paket Msys2:

C:\msys64Sr\bin\nano.exe C:\ Windows\System32\drivers\etc\hosts

Bei diesem Beispiel lässt sich die Datei nur ändern, wenn die Powershell mit administrativen Rechten gestartet wurde.

Mit Copy-Item lassen sich Dateien kopieren (Alias: copy und cp).

Copy-Item [Quelle] [Ziel]

"[Quelle]" enthält den kompletten Pfad zu einer Datei, für "[Ziel]" reicht ein Ordner aus. Gibt man hier den Pfad plus einen neuen Dateinamen an, wird die Datei mit dem neuen Namen angelegt. Eine in "[Ziel]" bereits vorhandene Datei gleichen Namens wird ohne Rückfrage überschrieben. Die zusätzliche Option "-confirm" ändert daran auch nichts, weil man zwar die Kopieraktion bestätigen muss, aber nichts über vorhandene Dateien erfährt. Besser geht's mit einer etwas komplexeren Konstruktion:

(Test-Path [Quelle]) ? "Datei vorhanden" : (Copy-Item [Quelle] [Ziel])

"Test-Path" prüft, ob "[Quelle]" vorhanden ist. Wenn ja, wird der Hinweistext ausgegeben, andernfalls wird die Datei kopiert.

Dateien suchen: Get-ChildItem kennt einige Optionen, die sich für die Suche nutzen lassen.

Der Befehl durchsucht das angegebene Verzeichnis und gibt Dateien aus, deren Namen "Brief" an beliebiger Stelle enthält. "Brief" zeigt Dateien, die mit dem Suchbegriff beginnen, und "Brief" zeigt Dateien, die damit enden. Lassen Sie "-File" weg, damit der Befehl auch Verzeichnisse berücksichtigt. Der Klassiker für die Suche nach Dateinamen in der Eingabeaufforderung laute

dir /s C:\Users[Benutzername]\ Documents*Brief*

Die Option "/s" bewirkt eine rekursive Suche im Ordner nach dem angegebenen Suchmuster.

Get-ChildItem C:\Users[Benutzername]\Documents*.txt -Recurse | Select-String „dummy“ -List

sucht im Inhalt von Textdateien nach der hinter Select-String angegebenen Zeichenkette "dummy" und gibt den Text mit der Fundstelle aus.

Wenn Sie nur den Dateinamen alleine benötigen, hängen Sie " | -Select Path" an.

Powershell-Befehle für System und Hardware

System und Hardware: Get-ComputerInfo zeigt beispielsweise an, welche Windows-Version installiert ist und welcher Prozessor im Computer steckt.
System und Hardware: Get-ComputerInfo zeigt beispielsweise an, welche Windows-Version installiert ist und welcher Prozessor im Computer steckt.

Powershell bietet Cmdlets, mit denen sich Informationen zu System und Hardware ausgeben lassen. Am umfassendsten ist

Get-ComputerInfo

Sie erfahren beispielsweise, welche Windows-Version installiert ist, von wem das Bios stammt und wie die CPU heißt.

Die Ausgabe lässt sich auch filtern. Der Befehl

Get-ComputerInfo -Property "*version"

listet alle Eigenschaften auf, in denen "version" am Ende der Zeile vorkommt.

Einzelne Infos lassen sich gezielt ermitteln:

Get-CimInstance -ClassName Win32_OperatingSystem

Der Befehl gibt die Build-Nummer und Version des installierten Windows aus. Mit

Get-CimClass

können Sie sich alle Werte anzeigen lassen, die für "-ClassName" verfügbar sind. Die Liste ist sehr lang, weshalb ein Filter wie

Get-CimClass -ClassName disk

hilft, alle Einträge zu finden, die etwas mit Festplatten und Laufwerken zu tun haben.

Get-CimInstance -ClassName Win32_DiskDrive

beispielsweise zeigt alle Laufwerke, deren Bezeichnung und Kapazität an.

Winaudit liefert Analysen von System, Software und vielen Bereichen der Hardware. Es bietet eine grafische Oberfläche, lässt sich aber auch über die Kommandozeile steuern. Entpacken Sie das Programm beispielsweise nach "C:\Tools". Starten Sie das Tool zuerst in einer administrativen Powershell mit

C:\Tools\WinAudit.exe

In der grafischen Oberfläche gehen Sie auf "Hilfe -› Winaudit benutzen". Im Abschnitt "10) Command Line Usage" finden Sie eine Übersicht mit den möglichen Optionen. Beenden Sie das Programm. Erzeugen Sie einen Report in der Powershell:

C:\Tools\WinAudit.exe /r=gopm /l=log.txt /f=computer.html

Die Datei "computer.html" liegt danach im Ordner "C:\Tools" und lässt sich im Webbrowser öffnen. Durch die Option "/r =gopm" sind eine Systemübersicht und Infos zu Betriebssystem, Prozessor und Speicher enthalten.

Windows herunterfahren oder neu starten: In der Powershell kann man den PC mit

Stop-Computer

herunterfahren und mit

Restart-Computer

neu starten. Das Kommandozeilentool Shutdown bietet mehr Optionen:

shutdown /s /t 5

fährt den Computer in fünf Sekunden herunter. Der Standard ist 30 Sekunden.

shutdown /r

startet Windows nach 30 Sekunden neu. Nützlich kann

shutdown /r /fw

sein, was einen Neustart durchführt und in das Uefi-Firmware-Setup bootet.