Tags: Datei-Management, PowerShell
Auch wenn man primär auf die Kommandozeile wechselt, weil man dort viele Aufgaben schneller erledigen kann als auf der GUI, so will man manchmal auch den umgekehrten Weg gehen. In diesem Fall ist es günstig, wenn man den Windows Explorer von der Kommandozeile aus direkt im passenden Verzeichnis öffnen kann.
Das Management über den Explorer erweist sich immer dann als komfortabler, wenn man eine größere Zahl von Dateien für bestimmte Operationen auswählen möchte und diese sich auf der Kommandozeile nicht einfach über Muster wie *.txt oder dergleichen abbilden lassen.
Start-Process für Verzeichnisse
Wenn man in dieser Situation den Explorer gleich an Ort und Stelle von der Kommandozeile öffnen will, dann könnte man dies mit dem Befehl
explorer .
tun. Aber bereits cmd.exe kennt dafür den start-Befehl, der eine Reihe zusätzlicher Optionen für die Ausführung eines Programms bietet. Der simple Aufruf von
Start .
öffnet den Explorer ebenfalls im aktuellen Verzeichnis.
Unter PowerShell existiert das start-Kommando auch, nur dass es sich dort um ein Alias des Cmdlets Start-Process handelt. Übergibt man ihm den Namen eines Verzeichnisses als Argument, dann öffnet es dort den Explorer. Das kann sich wie im obigen Fall um ".\" handeln, aber auch um jeden anderen beliebigen Pfad.
Neben der expliziten Angabe eines Verzeichnisses kann man hier natürlich auch Variablen verwenden. So würde etwa
Start $env:USERPROFILE
das Home-Verzeichnis des angemeldeten Benutzers im Explorer anzeigen. Alternative Variablen aus der Umgebung sind beispielsweise ProgramFiles, SystemRoot oder TEMP.
Ausführung mit administrativen Rechten
Start-Process besitzt zudem die Fähigkeit, einen neuen Prozess mit administrativen Rechten auszuführen, wenn man für den Parameter -Verb den Wert runas wählt:
Start explorer.exe $pwd -verb runas
In der Regel benötigt man dieses Feature beim Start des Explorers nicht, intessanter wäre es dagegen für eine neue Kommandozeile mit administrativen Rechten. Dies funktioniert zwar, aber sowohl cmd.exe als auch PowerShell ignorieren das Arbeitsverzeichnis, wenn man es ihnen nach obigen Muster als Variable oder Zeichenkette übergibt.
Vollbild oder normales Fenster
Auf Wunsch kann man über den Aufruf von Start noch bestimmen, ob das betreffende Programm in einem normalen Fenster, minimiert oder im Vollbildmodus startet:
Start . -WindowStyle Maximized
Die Alternativen zu Maximized heißen Minimized, Normal und Hidden, wobei Letzteres in der Praxis kaum von Nutzen sein dürfte.
Mehrere Verzeichnisse gleichzeitig öffnen
Eine Einschränkung von Start-Process besteht darin, dass es pro Aufruf nur einen Prozess starten kann. Möchte man beispielsweise zwei Verzeichnisse im Explorer öffnen, um Dateien zwischen ihnen zu kopieren oder zu verschieben, dann eignet sich Invoke-Item für diesen Zweck:
Invoke-Item .\Documents, .\Downloads
Dieser Aufruf würde die Unterverzeichnisse Documents und Downloads des aktuellen Ordners im Explorer anzeigen. Die Angabe von WindowStyle ist hier nicht möglich.
Täglich Know-how für IT-Pros mit unserem Newsletter
Verwandte Beiträge
Weitere Links