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 in den Speicherort, der zuletzt mithilfe des Cmdlets auf den Push-Location
Stapel gepusht wurde. Sie können einen Speicherort aus dem Standardstapel oder aus einem Stapel, den Sie mithilfe eines Befehls erstellen, auffüllen Push-Location
.
Beispiele
Beispiel 1: Ändern an den neuesten Speicherort
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 an den neuesten Speicherort 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 Standortstapeln finden Sie in den Notizen.
Beispiel 3: Verschieben zwischen Standorten 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 Push-Location
Cmdlets 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 pusht den aktuellen Dateisystemspeicherort auf den Stapel und wechselt zum HKLM-Laufwerk, das vom PowerShell-Registrierungsanbieter unterstützt wird.
Mit dem zweiten Befehl wird der Registrierungsspeicherort auf den Stapel gepusht und an einen Speicherort verschoben, 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 den Speicherort darstellt, an die Pipeline. Standardmäßig wird von diesem Cmdlet keine Ausgabe generiert.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-StackName
Gibt den Speicherstapel an, von dem der Speicherort abgerufen wird. Geben Sie einen Speicherstapelnamen ein.
Ohne diesen Parameter wird Pop-Location
ein Speicherort aus dem aktuellen Speicherortstapel eingeblendet. Standardmäßig ist der aktuelle Speicherortstapel der unbenannte Standardspeicherortstapel, den PowerShell erstellt. Um einen Standortstapel zum aktuellen Speicherortstapel zu machen, verwenden Sie den StackName-Parameter des Set-Location
Cmdlets. Weitere Informationen zu Standortstapeln finden Sie in den Notizen.
Pop-Location
Kann keinen Speicherort aus dem unbenannten Standardstapel auffüllen, es sei denn, es handelt sich um den aktuellen Speicherortstapel.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Eingaben
None
Eingaben können nicht an dieses Cmdlet weitergereicht werden.
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 wird von diesem Cmdlet keine Ausgabe generiert.
Hinweise
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 native Anwendungen ausgeführt werden, ohne explizite Verzeichnispfade bereitzustellen.
Selbst wenn die Standort-Cmdlets das prozessweite aktuelle Verzeichnis festgelegt haben, können Sie sich nicht darauf verlassen, da es jederzeit von einem anderen Runspace geändert werden kann. Sie sollten die Standort-Cmdlets verwenden, um pfadbasierte Vorgänge unter Verwendung 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 Anbieterstandorte in Standortstapeln speichern.
PowerShell erstellt einen unbenannten Standardspeicherortstapel, und Sie können mehrere benannte Speicherortstapel erstellen. Wenn Sie keinen Stapelnamen angeben, verwendet PowerShell den aktuellen Speicherortstapel. Standardmäßig ist der unbenannte 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:
Um einem Standortstapel einen Speicherort hinzuzufügen, verwenden Sie das
Push-Location
Cmdlet.Verwenden Sie das
Pop-Location
Cmdlet, um einen Speicherort aus einem Standortstapel abzurufen.Um die Speicherorte im aktuellen Speicherortstapel anzuzeigen, verwenden Sie den Stack-Parameter des
Get-Location
Cmdlets.Um die Speicherorte in einem benannten Speicherortstapel anzuzeigen, verwenden Sie den StackName-Parameter des
Get-Location
Cmdlets.Verwenden Sie zum Erstellen eines neuen Speicherortstapels den StackName-Parameter des
Push-Location
Cmdlets. Wenn Sie einen Stapel angeben, der nicht vorhanden ist,Push-Location
wird der Stapel erstellt.Um einen Standortstapel zum aktuellen Speicherortstapel 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 Speicherortstapel machen, können Sie die Push-Location
-Cmdlets oder Pop-Location
nicht mehr zum Hinzufügen oder Abrufen von Elementen aus dem Standardstapel verwenden oder das Get-Location
Cmdlet verwenden, um die Speicherorte im unbenannten Stapel anzuzeigen. Um den unbenannten Stapel zum aktuellen Stapel zu machen, verwenden Sie den StackName-Parameter des Set-Location
Cmdlets mit dem Wert oder $Null
einer leeren Zeichenfolge (""
).
Sie können auch auf den Pop-Location
integrierten Alias verweisen. popd
Weitere Informationen finden Sie unter about_Aliases.
Pop-Location
ist für die Arbeit mit den Daten konzipiert, die von einem beliebigen Anbieter verfügbar gemacht werden. Geben Sie ein Get-PSProvider
, um die in Ihrer Sitzung verfügbaren Anbieter aufzulisten. Weitere Informationen finden Sie unter about_Providers.