Push-Location

Fügt die aktuelle Position am oberen Rand eines Positionsstapels hinzu.

Syntax

Path (Standard)

Push-Location
    [[-Path] <String>]
    [-PassThru]
    [-StackName <String>]
    [<CommonParameters>]

LiteralPath

Push-Location
    [-LiteralPath <String>]
    [-PassThru]
    [-StackName <String>]
    [<CommonParameters>]

Beschreibung

Das Push-Location Cmdlet fügt den aktuellen Speicherort ("Pushes") zu einem Positionsstapel hinzu. Wenn Sie einen Pfad angeben, Push-Location verschiebt die aktuelle Position auf einen Positionsstapel, und ändert dann die aktuelle Position an die durch den Pfad angegebene Position. Mit dem Pop-Location Cmdlet können Sie Speicherorte aus dem Standortstapel abrufen.

Standardmäßig verschiebt das Push-Location Cmdlet die aktuelle Position auf den aktuellen Speicherortstapel. Sie können jedoch den StackName-Parameter verwenden, um einen alternativen Speicherortstapel anzugeben. Wenn der Stapel nicht vorhanden ist, Push-Location wird er erstellt.

Weitere Informationen zu Positionsstapeln finden Sie in den Notizen.

Beispiele

Beispiel 1

In diesem Beispiel wird die aktuelle Position auf den Standardspeicherortstapel verschoben und dann der Speicherort in C:\Windows geändert.

PS C:\> Push-Location C:\Windows

Beispiel 2

In diesem Beispiel wird die aktuelle Position auf den RegFunction-Stapel verschoben und die aktuelle Position an die HKLM:\Software\Policies Position geändert.

PS C:\> Push-Location HKLM:\Software\Policies -StackName RegFunction

Sie können die Speicherort-Cmdlets auf jedem PowerShell-Laufwerk (PSDrive) verwenden.

Beispiel 3

Mit diesem Befehl wird die aktuelle Position auf den Standardstapel verschoben. Er ändert den Speicherort nicht.

PS C:\> Push-Location

Beispiel 4 : Erstellen und Verwenden eines benannten Stapels

Diese Befehle zeigen, wie Sie einen benannten Speicherortstapel erstellen und verwenden.

PS C:\> Push-Location ~ -StackName Stack2
PS C:\Users\User01> Pop-Location -StackName Stack2
PS C:\>

Der erste Befehl verschiebt den aktuellen Speicherort auf einen neuen Stapel namens Stack2 und ändert dann den aktuellen Speicherort in das Startverzeichnis, dargestellt im Befehl durch das Tilde-Symbol (~), das bei Verwendung auf einem FileSystem-Anbieterlaufwerk entspricht $HOME.

Wenn Stack2 in der Sitzung noch nicht vorhanden ist, Push-Location wird sie erstellt. Der zweite Befehl verwendet das Pop-Location Cmdlet, um den ursprünglichen Speicherort (C:\) aus dem Stack2-Stapel aufzufüllen. Ohne den StackName-ParameterPop-Location würde die Position aus dem nicht benannten Standardstapel angezeigt.

Weitere Informationen zu Positionsstapeln finden Sie in den Notizen.

Parameter

-LiteralPath

Gibt den Pfad zum neuen Speicherort an. Im Gegensatz zum Path-Parameter wird der Wert des LiteralPath-Parameters genau so verwendet, wie er eingegeben wird. Es werden keine Zeichen als Wildcards interpretiert. Wenn der Pfad Escapezeichen enthält, müssen Sie ihn in einfache Anführungszeichen einschließen. Einfache Anführungszeichen signalisieren PowerShell, dass keine Zeichen als Escapesequenzen interpretiert werden sollen.

Parametereigenschaften

Typ:String
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False
Aliase:PSPath, EP

Parametersätze

LiteralPath
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-PassThru

Übergibt ein Objekt, das die Position an die Pipeline darstellt. Standardmäßig generiert dieses Cmdlet keine Ausgabe.

Parametereigenschaften

Typ:SwitchParameter
Standardwert:False
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-Path

Ändert Ihre Position an die position, die durch diesen Pfad angegeben wird, nachdem sie die aktuelle Position am Anfang des Stapels hinzugefügt (pusht). Geben Sie einen Pfad zu einem beliebigen Speicherort ein, dessen Anbieter dieses Cmdlet unterstützt. Wildcards sind zulässig. Der Parametername ist optional.

Parametereigenschaften

Typ:String
Standardwert:None
Unterstützt Platzhalter:True
Nicht anzeigen:False

Parametersätze

Path
Position:1
Obligatorisch.:False
Wert aus Pipeline:True
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-StackName

Gibt den Speicherortstapel an, dem der aktuelle Speicherort hinzugefügt wird. Geben Sie einen Speicherortstapelnamen ein. Wenn der Stapel nicht vorhanden ist, Push-Location wird er erstellt.

Ohne diesen Parameter Push-Location wird der Speicherort dem aktuellen Positionsstapel hinzugefügt. 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.

Note

Push-Location Kann dem nicht benannten Standardstapel keine Position hinzufügen, es sei denn, es handelt sich um den aktuellen Positionsstapel.

Parametereigenschaften

Typ:String
Standardwert:Default stack
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

CommonParameters

Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.

Eingaben

String

Sie können eine Zeichenfolge, die einen Pfad (aber keinen Literalpfad) enthält, an dieses Cmdlet weiterleiten.

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 Push-Location:

  • Alle Plattformen:
    • pushd

PowerShell unterstützt mehrere Runspaces pro Prozess. Jeder Runspace hat seine eigene 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, 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 Set-Location Cmdlet verwenden, um den aktuellen Speicherortstapel zu ändern.

Verwenden Sie zum Verwalten von Standortstapeln die PowerShell-Speicherort-Cmdlets 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 nicht benannten Standardspeicherortstapel kann nur zugegriffen werden, wenn es sich um den aktuellen Speicherortstapel 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 beziehenPush-Location. pushd Weitere Informationen finden Sie unter about_Aliases.

Das Cmdlet Push-Location ist für die Arbeit mit den Daten konzipiert, die von einem beliebigen Anbieter verfügbar gemacht werden. Geben Sie Get-PSProviderein, um die in Ihrer Sitzung verfügbaren Anbieter auflisten zu können. Weitere Informationen finden Sie unter über_Anbieter.