Verwalten des aktuellen Speicherorts

Wenn Sie in Verzeichnissystemen im Datei-Explorer navigieren, haben Sie in der Regel einen bestimmten Arbeitsspeicherort, nämlich den aktuell geöffneten Ordner. Elemente im aktuellen Ordner können problemlos verarbeitet werden, indem auf sie geklickt wird. In Befehlszeilenschnittstellen wie z.B. „Cmd.exe“ gilt: Wenn Sie sich im selben Ordner wie eine bestimmte Datei befinden, können Sie darauf zugreifen, indem Sie einen relativ kurzen Namen angeben. Es ist nicht erforderlich, dass Sie den vollständigen Pfad zu der Datei angeben. Das aktuelle Verzeichnis wird als Arbeitsverzeichnis bezeichnet.

In PowerShell wird das Substantiv Location verwendet, um auf das Arbeitsverzeichnis zu verweisen, und es wird eine Reihe von Cmdlets implementiert, mit denen der Speicherort überprüft und geändert werden kann.

Abrufen Ihres aktuellen Speicherorts (Get-Location)

Um den Pfad zu Ihrem aktuellen Verzeichnis zu ermitteln, geben Sie den Befehl Get-Location ein:

Get-Location
Path
----
C:\Documents and Settings\PowerUser

Hinweis

Das Cmdlet Get-Location ähnelt dem Befehl pwd in der BASH-Shell. Das Cmdlet Set-Location ähnelt dem Befehl cd in „Cmd.exe“.

Festlegen Ihres aktuellen Speicherorts (Set-Location)

Der Befehl Get-Location wird mit dem Befehl Set-Location verwendet. Der Befehl Set-Location ermöglicht es Ihnen, das aktuelle Verzeichnis anzugeben.

Set-Location -Path C:\Windows

Nachdem Sie den Befehl eingegeben haben, erhalten Sie kein direktes Feedback zu den Auswirkungen des Befehls. Die meisten PowerShell-Befehle, die eine Aktion ausführen, erzeugen nur wenig oder keine Ausgabe, da die Ausgabe nicht immer hilfreich ist. Um sich zu vergewissern, dass das Verzeichnis nach der Eingabe des Befehls Set-Location erfolgreich geändert wurde, fügen Sie den PassThru-Parameter ein, wenn Sie den Befehl Set-Location eingeben:

Set-Location -Path C:\Windows -PassThru
Path
----
C:\WINDOWS

Der PassThru-Parameter kann mit vielen Set-Befehlen in PowerShell verwendet werden, um Informationen zu dem Ergebnis in Fällen zurückzugeben, in denen keine Standardausgabe vorhanden ist.

Sie können Pfade, die relativ zu Ihrem aktuellen Speicherort sind, auf die gleiche Weise angeben, wie Sie dies in den meisten UNIX- und Windows-Befehlsshells tun würden. In der Standardnotation für relative Pfade stellt ein Punkt (.) den aktuellen Ordner dar, und zwei Punkte (..) stehen für das übergeordnete Verzeichnis des aktuellen Speicherorts.

Wenn Sie sich beispielsweise im Ordner C:\Windows befinden, stellt ein Punkt (.) C:\Windows dar, während zwei Punkte (..) C: darstellen. Sie können aus Ihrem aktuellen Speicherort in das Stammverzeichnis des Laufwerks C: wechseln, indem Sie Folgendes eingeben:

Set-Location -Path .. -PassThru
Path
----
C:\

Dieselbe Vorgehensweise funktioniert für PowerShell-Laufwerke, die keine Dateisystemlaufwerke sind, etwa HKLM:. Sie können Ihren Speicherort auf den Schlüssel HKLM\Software in der Registrierung festlegen, indem Sie Folgendes eingeben:

Set-Location -Path HKLM:\SOFTWARE -PassThru
Path
----
HKLM:\SOFTWARE

Anschließend können Sie das Verzeichnis in das übergeordnete Verzeichnis ändern, indem Sie einen relativen Pfad angeben:

Set-Location -Path .. -PassThru
Path
----
HKLM:\

Sie können Set-Location eingeben oder einen der integrierten PowerShell-Aliase für Set-Location verwenden (cd, chdir, sl). Beispiel:

cd -Path C:\Windows
chdir -Path .. -PassThru
sl -Path HKLM:\SOFTWARE -PassThru

Speichern und Abrufen von zuletzt verwendeten Speicherorten („Push-Location“ und „Pop-Location“)

Wenn Sie Speicherorte wechseln, ist es sinnvoll, zu verfolgen, wo Sie waren, um in der Lage zu sein, zu Ihrem vorherigen Speicherort zurückzukehren. Das Cmdlet Push-Location in PowerShell erstellt einen geordneten Verlauf (einen „Stapel“) der Verzeichnispfade, in denen Sie sich befunden haben, und Sie können mit dem Cmdlet Pop-Location durch den Verlauf der Verzeichnispfade zurückgehen.

Beispielsweise startet PowerShell üblicherweise im Basisverzeichnis von Benutzer*innen.

Get-Location

Path
----
C:\Documents and Settings\PowerUser

Hinweis

Das Wort Stapel hat in vielen Programmiereinstellungen eine besondere Bedeutung, so auch in NET Framework. Wie bei einem physischen Stapel von Elementen ist das letzte Elemente, das Sie auf dem Stapel ablegen, das erste Element, das Sie von dem Stapel herunternehmen können. Das Hinzufügen eines Elements zu einem Stapel wird gelegentlich als „Element mit Push auf dem Stapel ablegen“ bezeichnet. Das Herunternehmen eines Elements vom Stapel wird gelegentlich als „Element mit Pop aus dem Stapel entfernen“ bezeichnet.

Um den aktuellen Speicherort auf dem Stapel abzulegen und dann zum Ordner „Local Settings“ zu wechseln, geben Sie Folgendes ein:

Push-Location -Path "Local Settings"

Sie können dann das Verzeichnis „Local Settings“ auf dem Stapel ablegen und zum Ordner „Temp“ wechseln, indem Sie Folgendes eingeben:

Push-Location -Path Temp

Sie können sich vergewissern, dass Sie die Verzeichnisse geändert haben, indem Sie den Befehl Get-Location eingeben:

Get-Location
Path
----
C:\Documents and Settings\PowerUser\Local Settings\Temp

Sie können dann zurück zum zuletzt besuchten Verzeichnis wechseln, indem Sie den Befehl Pop-Location eingeben, und die Änderung überprüfen, indem Sie den Befehl Get-Location eingeben:

Pop-Location
Get-Location
Path
----
C:\Documents and Settings\me\Local Settings

Wie beim Cmdlet Set-Location können Sie den Parameter PassThru bei der Eingabe des Cmdlets Pop-Location einfügen, damit das Verzeichnis angezeigt wird, das Sie eingegeben haben:

Pop-Location -PassThru
Path
----
C:\Documents and Settings\PowerUser

Sie können die „Location“-Cdmlets auch mit Netzwerkpfaden verwenden. Wenn Sie einen Server namens „FS01“ mit einem Freigaben „Öffentlich“ haben, können Sie den Speicherort ändern, indem Sie Folgendes eingeben:

Set-Location \\FS01\Public

oder

Push-Location \\FS01\Public

Sie können die Befehle Push-Location und Set-Location verwenden, um den Speicherort in jedes verfügbare Laufwerk zu ändern. Wenn Sie z.B. ein lokales CD-ROM-Laufwerk mit dem Laufwerksbuchstaben D haben, das eine Daten-CD enthält, können Sie den Speicherort in das CD-Laufwerk ändern, indem Sie den Befehl Set-Location D: eingeben.

Ist das Laufwerk leer, wird die folgende Fehlermeldung angezeigt:

Set-Location D:
Set-Location : Cannot find path 'D:\' because it does not exist.

Wenn Sie eine Befehlszeilenschnittstelle verwenden, ist es nicht praktisch, den Datei-Explorer zu verwenden, um die verfügbaren physischen Laufwerken zu prüfen. Der Datei-Explorer zeigt darüber hinaus nicht alle PowerShell-Laufwerke an. PowerShell bietet eine Reihe von Befehlen zum Bearbeiten von PowerShell-Laufwerken.