Freigeben über


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 in den Push-Location Stapel gepusht wurde. Sie können einen Speicherort aus dem Standardstapel oder aus einem Stapel, den Sie mit einem Befehl erstellen, auffüllen Push-Location .

Beispiele

Beispiel 1: Ändern an den letzten 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 letzten 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 Hinweisen.

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.

Der zweite Befehl pusht den Registrierungsspeicherort auf den Stapel und wechselt an einen 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 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. Verwenden Sie den StackName-Parameter des Set-Location Cmdlets, um einen Standortstapel zum aktuellen Speicherortstapel zu machen. Weitere Informationen zu Standortstapeln finden Sie in den Hinweisen.

Pop-Location ein Speicherort aus dem unbenannten Standardstapel kann nicht aufgefüllt werden, 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

Sie können keine Objekte an dieses Cmdlet übergeben.

Ausgaben

None

Standardmäßig gibt dieses Cmdlet keine Ausgabe zurück.

PathInfo

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 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 von einem anderen Runspace jederzeit geändert werden kann. Sie sollten die Standort-Cmdlets verwenden, um pfadbasierte Vorgänge mit dem aktuellen Arbeitsverzeichnis 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 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:

  • 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.

  • Verwenden Sie den Stack-Parameter des Get-Location Cmdlets, um die Speicherorte im aktuellen Standortstapel anzuzeigen.

  • 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 Stapel angeben, der nicht vorhanden ist, Push-Location erstellt den Stapel.

  • Verwenden Sie den StackName-Parameter des Set-Location Cmdlets, um einen Standortstapel zum aktuellen Speicherortstapel zu machen.

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 $Null oder 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 jedem Anbieter verfügbar gemacht werden. Um die in Ihrer Sitzung verfügbaren Anbieter aufzulisten, geben Sie ein Get-PSProvider. Weitere Informationen finden Sie unter about_Providers.