Freigeben über


Get-Location

Ruft Informationen zum aktuellen Arbeitsort oder einem Positionsstapel ab.

Syntax

Location (Standard)

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

Stack

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

Beschreibung

Das Cmdlet Get-Location ruft ein Objekt ab, das das aktuelle Verzeichnis darstellt, ähnlich wie der Befehl print working directory (pwd).

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

Sie können dieses Cmdlet verwenden, um das aktuelle Verzeichnis zur Laufzeit abzurufen und es in Funktionen und Skripts zu verwenden, z. B. in einer Funktion, die das aktuelle Verzeichnis in der Windows 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

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

Mit diesem Befehl wird Ihr Speicherort auf dem aktuellen Windows PowerShell-Laufwerk angezeigt.

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

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

The first command uses the **Set-Location** cmdlet to set the current location to the Windows subdirectory of the C: drive.
PS C:\> Set-Location C:\Windows

The second command uses the **Set-Location** cmdlet to change the location to the HKLM:\Software\Microsoft registry key. When you change to a location in the HKLM: drive, Windows PowerShell retains your location in the C: drive.
PS C:\>
PS C:\WINDOWS> Set-Location HKLM:\Software\Microsoft
PS HKLM:\Software\Microsoft>

The third command uses the **Set-Location** cmdlet to change the location to the HKCU:\Control Panel\Input Method registry key.
PS C:\>
PS HKLM:\Software\Microsoft> Set-Location "HKCU:\Control Panel\Input Method"
PS HKCU:\Control Panel\Input Method>

The fourth command uses the **Get-Location** cmdlet to find the current location on the C: drive. It uses the *PSDrive* parameter to specify the drive.
PS C:\>
PS HKCU:\Control Panel\Input Method> Get-Location -PSDrive C



Path
----
C:\WINDOWS

The fifth command uses the **Set-Location** cmdlet to return to the C: drive. Even though the command does not specify a subdirectory, Windows PowerShell returns you to the saved location.
PS C:\>
PS HKCU:\Control Panel\Input Method> Set-Location C:
PS C:\WINDOWS>

The sixth command uses the **Get-Location** cmdlet to find the current location in the drives supported by the Windows PowerShell registry provider. **Get-Location** returns the location of the most recently accessed registry drive, HKCU.
PS C:\>
PS C:\WINDOWS> Get-Location -PSProvider registry




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

To see the current location in the HKLM: drive, you need to use the *PSDrive* parameter to specify the drive. The seventh command does just this:
PS C:\>
PS C:\WINDOWS> Get-Location -PSDrive HKLM



Path
----
HKLM:\Software\Microsoft

In diesem Beispiel wird die Verwendung von Get-Location veranschaulicht, um den aktuellen Standort auf verschiedenen Windows PowerShell-Laufwerken anzuzeigen.

Beispiel 3: Auflisten der Speicherorte im aktuellen Speicherortstapel und in alternativen Speicherortstapeln

The first command sets the current location to the Windows directory on the C: drive.
PS C:\> Set-Location C:\Windows

The second command uses the **Push-Location** cmdlet to push the current location (C:\Windows) onto the current location stack and change to the System32 subdirectory. Because no stack is specified, the current location is pushed onto the current location stack. By default, the current location stack is the unnamed default location stack.
C:\WINDOWS> Push-Location System32

The third command uses the *StackName* parameter of the **Push-Location** cmdlet to push the current location (C:\Windows\System32) onto the Stack2 stack and to change the current location to the WindowsPowerShell subirectory. If the Stack2 stack does not exist, **Push-Location** creates it.
C:\Windows\System32> Push-Location WindowsPowerShell -StackName Stack2

The fourth command uses the *Stack* parameter of the **Get-Location** cmdlet to get the locations in the current location stack. By default, the current stack is the unnamed default location stack.
C:\WINDOWS\system32\WindowsPowerShell> Get-Location -Stack
Path
----
C:\WINDOWS

The fifth command uses the *StackName* parameter of the **Get-Location** cmdlet to get the locations in the Stack2 stack.
PS C:\>
C:\WINDOWS\system32\WindowsPowerShell>get-location -stackname Stack2



Path
----
C:\WINDOWS\system32

Dieser Befehl zeigt, wie die Stack - und StackName-Parameter von Get-Location verwendet werden, um die Speicherorte im aktuellen Speicherortstapel und in alternativen Speicherortstapeln aufzulisten. Weitere Informationen zu Positionsstapeln finden Sie in den Notizen.

Beispiel 4: Anpassen der Windows PowerShell-Eingabeaufforderung

PS C:\>
function prompt { 'PowerShell: ' + (get-location) + '> '}
PowerShell: C:\WINDOWS>

In diesem Beispiel wird gezeigt, wie Sie die Windows PowerShell-Eingabeaufforderung anpassen. 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 standardmäßigen Windows PowerShell-Eingabeaufforderung wird durch eine spezielle Funktion mit dem Namen prompt definiert. Sie können die Eingabeaufforderung in Ihrer Konsole ändern, indem Sie eine neue Funktion mit dem Namen prompt erstellen.

Um die aktuelle Eingabeaufforderungsfunktion anzuzeigen, geben Sie den folgenden Befehl ein: Get-Content Function:prompt

Der Befehl beginnt mit dem Schlüsselwort function, gefolgt von dem Funktionsnamen prompt. Der Funktionstext wird in geschweiften Klammern ( {} ) angezeigt.

Dieser Befehl definiert eine neue Eingabeaufforderung, die mit der Zeichenfolge PowerShell beginnt: . Zum Anfügen des aktuellen Speicherorts wird der Befehl Get-Location verwendet, der ausgeführt wird, wenn die Eingabeaufforderungsfunktion aufgerufen wird. Die Eingabeaufforderung endet mit der Zeichenfolge "> ".

Parameter

-PSDrive

Gibt den aktuellen Speicherort auf dem angegebenen Windows PowerShell-Laufwerk an, den dieses Cmdlet im Vorgang abruft.

Wenn Sie sich z. B. auf dem Laufwerk "Certificate:" befinden, können Sie diesen Parameter verwenden, um Ihren aktuellen Speicherort auf Laufwerk C: zu ermitteln.

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

Gibt den aktuellen Speicherort auf dem Laufwerk an, das vom Windows PowerShell-Anbieter unterstützt wird und den dieses Cmdlet im Vorgang abruft.

Wenn der angegebene Anbieter mehrere Laufwerke unterstützt, gibt dieses Cmdlet den Speicherort auf dem zuletzt zugegriffenen Laufwerk zurück.

Wenn Sie sich z. B. auf Laufwerk C: befinden, können Sie diesen Parameter verwenden, um Ihren aktuellen Speicherort auf den Laufwerken des Windows PowerShellRegistry-Anbieters zu ermitteln.

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 im aktuellen Speicherortstapel anzeigt.

Verwenden Sie den StackName Parameter, um die Speicherorte in einem anderen Positionsstapel anzuzeigen. Weitere Informationen zu Speicherort-Stacks finden Sie in den Hinweisen.

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.

Um die Speicherorte im aktuellen Positionsstapel anzuzeigen, verwenden Sie den parameter Stack. Um einen Speicherort-Stack zum aktuellen Standort-Stack zu machen, verwenden Sie den Parameter Set-Location. Weitere Informationen zu Speicherort-Stacks finden Sie in den Hinweisen.

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

-UseTransaction

Enthält den Befehl in der aktiven Transaktion. Dieser Parameter ist nur gültig, wenn eine Transaktion ausgeführt wird. Weitere Informationen finden Sie unter about_Transactions.

Parametereigenschaften

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

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
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

Eingaben können nicht an dieses Cmdlet weitergereicht werden.

Ausgaben

System.Management.Automation.PathInfo or System.Management.Automation.PathInfoStack

Wenn Sie den Stack-Parameter oder den StackName-Parameter verwenden, gibt dieses Cmdlet ein StackInfo-Objekt zurück. Andernfalls wird ein PathInfo-Objekt zurückgegeben.

Hinweise

  • Dieses Cmdlet wurde entwickelt, um mit den Daten zu arbeiten, die von einem beliebigen Anbieter verfügbar gemacht werden. Geben Sie Get-PSProviderein, um die Anbieter in Ihrer Sitzung auflisten zu können. Weitere Informationen finden Sie unter about_Providers.

    Die Möglichkeiten, wie der PSProvider, PSDrive, Stackund StackName Parameter interagieren, 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 werden, 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 das zuletzt hinzugefügte Element zugänglich ist. 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 Windows PowerShell können Sie Anbieterstandorte in Standortstapeln speichern. Windows PowerShell erstellt einen unbenannten Standardspeicherortstapel, und Sie können mehrere benannte Speicherortstapel erstellen. Wenn Sie keinen Stapelnamen angeben, verwendet Windows PowerShell den aktuellen Speicherortstapel. Standardmäßig ist der unbenannte Standardspeicherort der aktuelle Speicherortstapel, aber Sie können das Cmdlet Set-Location verwenden, um den aktuellen Speicherortstapel zu ändern.

    Verwenden Sie zum Verwalten von Standortstapeln die Windows PowerShellLocation-Cmdlets wie folgt.

    • Um einem Speicherortstapel einen Speicherort hinzuzufügen, verwenden Sie das Cmdlet Push-Location.

    • Verwenden Sie zum Abrufen eines Speicherorts aus einem Speicherortstapel das Cmdlet Pop-Location.

    • Um die Speicherorte im aktuellen Speicherortstapel anzuzeigen, verwenden Sie den Stack-Parameter des Cmdlets Get-Location . Um die Speicherorte in einem benannten Speicherortstapel anzuzeigen, verwenden Sie den StackName-Parameter des Cmdlets Get-Location .

    • Um einen neuen Speicherortstapel zu erstellen, verwenden Sie den StackName-Parameter des Cmdlets Push-Location . Wenn Sie einen Stack angeben, der nicht vorhanden ist, erstellt Push-Location den Stack.

    • Um einen Speicherortstapel zum aktuellen Speicherortstapel zu machen, verwenden Sie den StackName-Parameter des Cmdlets Set-Location .

    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 das Hinzufügen oder Abrufen von Elementen aus dem Standardstapel Push-Location oder Pop-Location nicht mehr verwenden oder diesen Cmdlet-Befehl verwenden, um die Speicherorte im unbenannten Stapel anzuzeigen. Um den unbenannten Stapel zum aktuellen Stapel zu machen, verwenden Sie den StackName-Parameter des Cmdlets Set-Location mit dem Wert $null oder einer leeren Zeichenfolge ("").