Pop-Location
Ändert den aktuellen Speicherort in den Speicherort, der zuletzt auf den Stapel verschoben wurde.
Syntax
Pop-Location
[-PassThru]
[-StackName <String>]
[<CommonParameters>]
Beschreibung
Das Pop-Location
Cmdlet ändert den aktuellen Speicherort an die Position, die zuletzt mithilfe des Push-Location
Cmdlets auf den Stapel verschoben wurde. 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
Mit diesem Befehl wird der Speicherort in den Speicherort geändert, der dem aktuellen Stapel zuletzt hinzugefügt wurde.
Beispiel 2: Ändern der letzten Position in einem benannten Stapel
PS C:\> Pop-Location -StackName "Stack2"
Mit diesem Befehl wird der Speicherort in den Speicherort geändert, der dem Speicherstapel %%amp;quot;Stack2%%amp;quot; zuletzt hinzugefügt wurde.
Weitere Informationen zu Positionsstapeln finden Sie in den Notizen.
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 und Pop-Location
Cmdlets, um zwischen Speicherorten zu wechseln, die Push-Location
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.
Mit den letzten beiden Befehlen werden diese Speicherorte vom Stapel abgerufen. 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 wird von diesem Cmdlet keine Ausgabe generiert.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-StackName
Gibt den Speicherstapel an, von dem der Speicherort abgerufen wird. Geben Sie einen Speicherstapelnamen ein.
Ohne diesen Parameter Pop-Location
wird eine Position aus dem aktuellen Positionsstapel 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 Set-Location
Cmdlets. Weitere Informationen zu Positionsstapeln finden Sie in den Notizen.
Pop-Location
Ein Speicherort kann nicht aus dem nicht benannten Standardstapel eingeblendet werden, 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 Objekte an dieses Cmdlet weiterleiten.
Ausgaben
None
Standardmäßig gibt dieses Cmdlet keine Ausgabe zurück.
Wenn Sie den PassThru-Parameter verwenden, gibt dieses Cmdlet ein PathInfo-Objekt zurück, das den aktuellen Pfad nach dem Vorgang des Cmdlets darstellt.
Hinweise
PowerShell enthält die folgenden Aliase für Pop-Location
:
- Alle Plattformen:
popd
PowerShell unterstützt mehrere Runspaces pro Prozess. Jeder Runspace verfügt über ein eigenes aktuelles Verzeichnis.
Dies ist nicht identisch mit [System.Environment]::CurrentDirectory
. 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. Anschließend rufen Sie sie zur Verwendung in der umgekehrten Reihenfolge auf. 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 Set-Location
Cmdlet verwenden, um den aktuellen Speicherortstapel zu ändern.
Verwenden Sie zum Verwalten von Standortstapeln die PowerShell-Cmdlets *-Location
wie folgt:
Verwenden Sie das
Push-Location
Cmdlet, um einem Standortstapel einen Speicherort hinzuzufügen.Verwenden Sie das
Pop-Location
Cmdlet, um einen Speicherort aus einem Standortstapel abzurufen.Um die Speicherorte im aktuellen Positionsstapel anzuzeigen, verwenden Sie den Stack-Parameter des
Get-Location
Cmdlets.Verwenden Sie den StackName-Parameter des
Get-Location
Cmdlets, um die Speicherorte in einem benannten Speicherortstapel anzuzeigen.Verwenden Sie zum Erstellen eines neuen Speicherortstapels den StackName-Parameter des
Push-Location
Cmdlets. Wenn Sie einen nicht vorhandenen Stapel angeben,Push-Location
wird der Stapel erstellt.Um einen Positionsstapel zum aktuellen Positionsstapel zu machen, verwenden Sie den StackName-Parameter des
Set-Location
Cmdlets.
Auf den unbenannten Standardspeicherstapel kann nur vollständig zugegriffen werden, wenn es sich dabei um den aktuellen Speicherstapel handelt.
Wenn Sie einen benannten Speicherortstapel zum aktuellen Positionsstapel machen, können Sie die Push-Location
Oder-Cmdlets Pop-Location
nicht mehr verwenden, um Elemente aus dem Standardstapel hinzuzufügen oder abzurufen oder das Get-Location
Cmdlet zum Anzeigen der Speicherorte im nicht benannten Stapel zu verwenden. Um den nicht benannten Stapel zum aktuellen Stapel zu machen, verwenden Sie den StackName-Parameter des Set-Location
Cmdlets mit einem Wert oder $Null
einer leeren Zeichenfolge (""
).
Sie können sich auch auf den integrierten Alias beziehenPop-Location
. popd
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 ein, um die in Ihrer Sitzung verfügbaren Anbieter auflisten zu können Get-PSProvider
. Weitere Informationen finden Sie unter about_Providers.