Get-Location

Ruft Informationen zum aktuellen Arbeitsort oder einem Positionsstapel ab.

Syntax

Location (Standard)

Get-Location
    [-PSProvider <String[]>]
    [-PSDrive <String[]>]
    [<CommonParameters>]

Stack

Get-Location
    [-Stack]
    [-StackName <String[]>]
    [<CommonParameters>]

Beschreibung

Das Get-Location Cmdlet ruft ein Objekt ab, das das aktuelle Verzeichnis darstellt, ähnlich wie der Befehl für das Druckarbeitsverzeichnis (pwd) in Unix-ähnlichen Betriebssystemen.

Wenn Sie zwischen PowerShell-Laufwerken wechseln, behält PowerShell Ihren Speicherort auf jedem Laufwerk bei. Sie können dieses Cmdlet verwenden, um Ihren Speicherort auf jedem Laufwerk zu finden.

Mit diesem Cmdlet können Sie das aktuelle Verzeichnis zur Laufzeit abrufen und in Funktionen und Skripts verwenden, z. B. in einer Funktion, die das aktuelle Verzeichnis in der PowerShell-Eingabeaufforderung anzeigt.

Sie können dieses Cmdlet auch verwenden, um die Speicherorte in einem Positionsstapel anzuzeigen. Weitere Informationen finden Sie in den Notizen und den Beschreibungen der Parameter "Stack" und "StackName ".

Beispiele

Beispiel 1: Anzeigen des aktuellen Laufwerkspeicherorts

Dieser Befehl zeigt Ihren Speicherort auf dem aktuellen PowerShell-Laufwerk an.

PS C:\Windows> Get-Location
Path
----
C:\Windows

Wenn Sie sich beispielsweise im Verzeichnis Windows des Laufwerks C: befinden, wird der Pfad zu diesem Verzeichnis angezeigt.

Beispiel 2: Anzeigen der aktuellen Position für verschiedene Laufwerke

In diesem Beispiel wird die Verwendung der Get-Location Anzeige Ihres aktuellen Speicherorts in verschiedenen PowerShell-Laufwerken veranschaulicht. Set-Location wird verwendet, um den Speicherort in verschiedene Pfade auf verschiedenen PSDrives zu ändern.

PS C:\> Set-Location C:\Windows
PS C:\Windows> Set-Location HKLM:\Software\Microsoft
PS HKLM:\Software\Microsoft> Set-Location "HKCU:\Control Panel\Input Method"
PS HKCU:\Control Panel\Input Method> Get-Location -PSDrive C

Path
----
C:\Windows

PS HKCU:\Control Panel\Input Method> Get-Location -PSDrive HKLM

Path
----
HKLM:\Software\Microsoft

PS HKCU:\Control Panel\Input Method> Set-Location C:
PS C:\Windows> Get-Location -PSProvider Registry

Path
----
HKCU:\Control Panel\Input Method

Beispiel 3: Abrufen von Speicherorten mithilfe von Stapeln

In diesem Beispiel wird gezeigt, wie Sie die ParameterGet-Location" verwenden, um die Speicherorte im aktuellen Positionsstapel und alternative Positionsstapel auflisten zu können.

Das Push-Location Cmdlet wird verwendet, um zu drei verschiedenen Speicherorten zu wechseln. Der dritte Push verwendet einen anderen Stapelnamen. Der Stack-Parameter zeigt Get-Location den Inhalt des Standardstapels an. Der StackName-Parameter zeigt Get-Location den Inhalt des Stapels mit dem Namen Stack2an.

PS C:\> Push-Location C:\Windows
PS C:\Windows>Push-Location System32
PS C:\Windows\System32>Push-Location WindowsPowerShell -StackName Stack2
C:\Windows\System32\WindowsPowerShell>Get-Location -Stack

Path
----
C:\Windows
C:\

C:\Windows\System32\WindowsPowerShell>Get-Location -StackName Stack2

Path
----
C:\Windows\System32

Beispiel 4: Anpassen der PowerShell-Eingabeaufforderung

In diesem Beispiel wird gezeigt, wie Sie die PowerShell-Eingabeaufforderung anpassen.

PS C:\>
function prompt { 'PowerShell: ' + (Get-Location) + '> '}
PowerShell: C:\>

Die Funktion, die die Eingabeaufforderung definiert, enthält einen Get-Location Befehl, der immer dann ausgeführt wird, wenn die Eingabeaufforderung in der Konsole angezeigt wird.

Das Format der PowerShell-Standardaufforderung wird durch eine spezielle Funktion mit dem Namen promptdefiniert. Sie können die Eingabeaufforderung in Der Konsole ändern, indem Sie eine neue Funktion mit dem Namen prompterstellen.

Geben Sie den folgenden Befehl ein, um die aktuelle Eingabeaufforderungsfunktion anzuzeigen: Get-Content Function:\prompt

Parameter

-PSDrive

Ruft den aktuellen Speicherort im angegebenen PowerShell-Laufwerk ab.

Wenn Sie sich beispielsweise im Cert: Laufwerk befinden, können Sie diesen Parameter verwenden, um Ihren aktuellen Speicherort auf dem C: Laufwerk zu finden.

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

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

-PSProvider

Ruft den aktuellen Speicherort auf dem Laufwerk ab, das vom angegebenen PowerShell-Anbieter unterstützt wird. Wenn der angegebene Anbieter mehrere Laufwerke unterstützt, gibt dieses Cmdlet den Speicherort auf dem zuletzt zugegriffenen Laufwerk zurück.

Wenn Sie sich beispielsweise im C: Laufwerk befinden, können Sie diesen Parameter verwenden, um Ihren aktuellen Speicherort auf den Laufwerken des PowerShell-Registrierungsanbieters zu finden.

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

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

-Stack

Gibt an, dass dieses Cmdlet die Speicherorte anzeigt, die dem aktuellen Positionsstapel hinzugefügt wurden. Sie können Mithilfe des Push-Location Cmdlets Speicherorte zu Stapeln hinzufügen.

Verwenden Sie den StackName-Parameter , um die Speicherorte in einem anderen Positionsstapel anzuzeigen. Informationen zu Positionsstapeln finden Sie in den Notizen.

Parametereigenschaften

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

Parametersätze

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

-StackName

Gibt als Zeichenfolgenarray die benannten Positionsstapel an. Geben Sie einen oder mehrere Speicherortstapelnamen ein.

Verwenden Sie den Stack-Parameter , um die Speicherorte im aktuellen Positionsstapel anzuzeigen. Verwenden Sie das Set-Location Cmdlet, um einen Positionsstapel zum aktuellen Positionsstapel zu machen.

Dieses Cmdlet kann die Speicherorte im nicht benannten Standardstapel nur anzeigen, wenn es sich um den aktuellen Stapel handelt.

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

Stack
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

None

Sie können keine Objekte an dieses Cmdlet weiterleiten.

Ausgaben

PathInfo

Standardmäßig gibt dieses Cmdlet ein PathInfo-objekt zurück.

PathInfoStack

Wenn Sie die Parameter Stack oder StackName verwenden, gibt dieses Cmdlet ein PathInfoStack-Objekt zurück.

Hinweise

PowerShell enthält die folgenden Aliase für Get-Location:

  • Alle Plattformen:

    • gl
    • pwd

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. Das Get-Location Cmdlet gibt das aktuelle Verzeichnis des aktuellen PowerShell-Runspaces zurück.

Dieses Cmdlet wurde entwickelt, um mit den Daten zu arbeiten, die von einem beliebigen Anbieter verfügbar gemacht werden. Wenn Sie die Anbieter in Ihrer Sitzung auflisten möchten, geben Sie folgendes ein Get-PSProvider. Weitere Informationen finden Sie unter über_Anbieter.

Die Interaktion der PARAMETER "PSProvider", "PSDrive", "Stack" und "StackName" hängt vom Anbieter ab. Einige Kombinationen führen zu Fehlern, z. B. das Angeben eines Laufwerks und eines Anbieters, der dieses Laufwerk nicht verfügbar macht. Wenn keine Parameter angegeben sind, gibt dieses Cmdlet das PathInfo-Objekt für den Anbieter zurück, der den aktuellen Arbeitsspeicherort enthält.

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-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 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-Cmdlets Pop-Location nicht mehr verwenden, um Elemente aus dem Standardstapel hinzuzufügen oder abzurufen, oder verwenden Sie dieses Cmdlet, um die Speicherorte im nicht benannten Stapel anzuzeigen. 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 ("").