Windows Explorer aus PowerShell im aktuellen Verzeichnis öffnen

    Check-Liste: Welche Funktionen soll das Mobile Device Management bieten? Kostenloses EMM-Whitepaper von baramundi herunterladen » (Anzeige)

    Home-VerzeichnisAuch 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.

    Keine Kommentare