Pop-Location
Ändert die aktuelle Position an die Position, die zuletzt auf den Stapel verschoben wurde.
Syntax
Pop-Location
[-PassThru]
[-StackName <String>]
[<CommonParameters>]
Beschreibung
Das Cmdlet Pop-Location
ändert den aktuellen Speicherort mithilfe des Cmdlets Push-Location
in den Stapel. Sie können einen Speicherort aus dem Standardstapel oder aus einem stapel einfügen, den Sie mithilfe eines Push-Location
Befehls erstellen.
Beispiele
Beispiel 1: Ändern des zuletzt verwendeten Speicherorts
PS C:\> Pop-Location
Dieser Befehl ändert Ihren Speicherort an der Position, die zuletzt dem aktuellen Stapel hinzugefügt wurde.
Beispiel 2: Ändern der letzten Position in einem benannten Stapel
PS C:\> Pop-Location -StackName "Stack2"
Dieser Befehl ändert Ihren Speicherort an die Position, die zuletzt dem Stack2-Positionsstapel hinzugefügt wurde.
Weitere Informationen zu Positionsstapeln finden Sie in den Notes.
Beispiel 3: Wechseln zwischen Speicherorten für verschiedene Anbieter
PS C:\> pushd HKLM:\Software\Microsoft\PowerShell
PS HKLM:\Software\Microsoft\PowerShell> pushd Cert:\LocalMachine\TrustedPublisher
PS cert:\LocalMachine\TrustedPublisher> popd
PS HKLM:\Software\Microsoft\PowerShell> popd
PS C:\>
Diese Befehle verwenden die Cmdlets Push-Location
und Pop-Location
, um zwischen Speicherorten zu wechseln, die von verschiedenen PowerShell-Anbietern unterstützt werden. Die Befehle verwenden den pushd
Alias für Push-Location
und den popd
Alias für Pop-Location
.
Der erste Befehl verschiebt den aktuellen Dateisystemspeicherort auf den Stapel und wechselt zum HKLM-Laufwerk, das vom PowerShell-Registrierungsanbieter unterstützt wird.
Der zweite Befehl überträgt den Registrierungsspeicherort auf den Stapel und wechselt zu einem Speicherort, der vom PowerShell-Zertifikatanbieter unterstützt wird.
Die letzten beiden Befehle füllen diese Speicherorte aus dem Stapel. Der erste popd
Befehl kehrt zum Registrierungslaufwerk zurück, und der zweite Befehl kehrt zum Dateisystemlaufwerk zurück.
Parameter
-PassThru
Übergibt ein Objekt, das die Position an die Pipeline darstellt. Standardmäßig generiert dieses Cmdlet keine Ausgabe.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-StackName
Gibt den Positionsstapel an, von dem aus die Position eingeplapelt wird. Geben Sie einen Speicherortstapelnamen ein.
Ohne diesen Parameter wird ein Speicherort aus dem aktuellen Positionsstapel Pop-Location
eingeblendet. Standardmäßig ist der aktuelle Speicherortstapel der unbenannte Standardspeicherortstapel, den PowerShell erstellt. Um einen Positionsstapel zum aktuellen Positionsstapel zu machen, verwenden Sie den StackName Parameter des cmdlets Set-Location
. Weitere Informationen zu Positionsstapeln finden Sie in den Notes.
Pop-Location
kann keine Position aus dem nicht benannten Standardstapel auffüllen, es sei denn, es handelt sich um den aktuellen Positionsstapel.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
Eingaben
None
Sie können keine Eingabe an dieses Cmdlet weiterleiten.
Ausgaben
None, System.Management.Automation.PathInfo
Dieses Cmdlet generiert ein System.Management.Automation.PathInfo Objekt, das den Speicherort darstellt, wenn Sie den PassThru-Parameter angeben. Andernfalls generiert dieses Cmdlet keine Ausgabe.
Hinweise
PowerShell unterstützt mehrere Runspaces pro Prozess. Jeder Runspace verfügt über ein eigenes aktuelles Verzeichnis.
Dies ist nicht mit [System.Environment]::CurrentDirectory
identisch. Dieses Verhalten kann ein Problem sein, wenn .NET-APIs aufgerufen oder systemeigene Anwendungen ausgeführt werden, ohne explizite Verzeichnispfade bereitzustellen.
Auch wenn die Speicherort-Cmdlets das prozessweite aktuelle Verzeichnis festgelegt haben, können Sie nicht davon abhängen, da ein anderer Runspace sie jederzeit ändern kann. Sie sollten die Speicherort-Cmdlets verwenden, um pfadbasierte Vorgänge mithilfe des aktuellen Arbeitsverzeichnisses auszuführen, das für den aktuellen Runspace spezifisch ist.
Ein Stapel ist eine Last-in-First-Out-Liste, in der nur auf das zuletzt hinzugefügte Element zugegriffen werden kann. Sie fügen einem Stapel Elemente in der Reihenfolge hinzu, in der Sie sie verwenden, und rufen sie dann für die Verwendung in umgekehrter Reihenfolge ab. Mit PowerShell können Sie Anbieterspeicherorte in Standortstapeln speichern.
PowerShell erstellt einen nicht benannten Standardspeicherortstapel, und Sie können mehrere benannte Speicherortstapel erstellen. Wenn Sie keinen Stapelnamen angeben, verwendet PowerShell den aktuellen Speicherortstapel. Standardmäßig ist der nicht benannte Standardspeicherort der aktuelle Speicherortstapel, Sie können jedoch das Cmdlet Set-Location
verwenden, um den aktuellen Speicherortstapel zu ändern.
Verwenden Sie zum Verwalten von Standortstapeln die PowerShell-*-Location
-Cmdlets wie folgt:
Verwenden Sie das Cmdlet
Push-Location
, um einem Standortstapel einen Speicherort hinzuzufügen.Um einen Speicherort aus einem Standortstapel abzurufen, verwenden Sie das cmdlet
Pop-Location
.Um die Speicherorte im aktuellen Positionsstapel anzuzeigen, verwenden Sie den Stack-Parameter des cmdlets
Get-Location
.Um die Speicherorte in einem benannten Speicherortstapel anzuzeigen, verwenden Sie den StackName Parameter des Cmdlets
Get-Location
.Um einen neuen Speicherortstapel zu erstellen, verwenden Sie den StackName Parameter des cmdlets
Push-Location
. Wenn Sie einen nicht vorhandenen Stapel angeben, erstelltPush-Location
den Stapel.Um einen Positionsstapel zum aktuellen Positionsstapel zu machen, verwenden Sie den StackName Parameter des cmdlets
Set-Location
.
Auf den nicht benannten Standardspeicherortstapel kann nur zugegriffen werden, wenn es sich um den aktuellen Speicherortstapel handelt.
Wenn Sie einen benannten Speicherortstapel zum aktuellen Speicherortstapel machen, können Sie die Push-Location
oder Pop-Location
Cmdlets nicht mehr verwenden, um Elemente aus dem Standardstapel hinzuzufügen oder abzurufen, oder verwenden Sie das Cmdlet Get-Location
, um die Speicherorte im nicht benannten Stapel anzuzeigen. Um den nicht benannten Stapel zum aktuellen Stapel zu machen, verwenden Sie den StackName Parameter des cmdlets Set-Location
mit dem Wert $Null
oder einer leeren Zeichenfolge (""
).
Sie können auch auf Pop-Location
durch den integrierten Alias popd
verweisen. Weitere Informationen finden Sie unter about_Aliases.
Pop-Location
ist für die Arbeit mit den daten konzipiert, die von jedem Anbieter verfügbar gemacht werden. Geben Sie Get-PSProvider
ein, um die in Ihrer Sitzung verfügbaren Anbieter auflisten zu können. Weitere Informationen finden Sie unter about_Providers.