Get-Location

Pobiera informacje o bieżącej lokalizacji roboczej lub stosie lokalizacji.

Składnia

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

Opis

Polecenie Get-Location cmdlet pobiera obiekt reprezentujący bieżący katalog, podobnie jak polecenie print working directory (pwd).

Po przejściu między dyskami programu PowerShell program PowerShell zachowuje lokalizację na każdym dysku. To polecenie cmdlet służy do znajdowania lokalizacji na każdym dysku.

To polecenie cmdlet służy do pobierania bieżącego katalogu w czasie wykonywania i używania go w funkcjach i skryptach, takich jak w funkcji, która wyświetla bieżący katalog w wierszu polecenia programu PowerShell.

Możesz również użyć tego polecenia cmdlet, aby wyświetlić lokalizacje w stosie lokalizacji. Aby uzyskać więcej informacji, zobacz Uwagi i opisy parametrów Stack and StackName .

Przykłady

Przykład 1. Wyświetlanie bieżącej lokalizacji dysku

To polecenie wyświetla lokalizację na bieżącym dysku programu PowerShell.

PS C:\Windows> Get-Location

Path
----
C:\Windows

Jeśli na przykład jesteś w Windows katalogu C: dysku, wyświetla ścieżkę do tego katalogu.

Przykład 2. Wyświetlanie bieżącej lokalizacji dla różnych dysków

W tym przykładzie pokazano użycie polecenia do wyświetlania bieżącej Get-Location lokalizacji na różnych dyskach programu PowerShell. Set-Location służy do zmiany lokalizacji na kilka różnych ścieżek w różnych usługach PSDrive.

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

Przykład 3. Pobieranie lokalizacji przy użyciu stosów

W tym przykładzie pokazano, jak za pomocą parametrów Get-Location Stack i StackName wyświetlić listę lokalizacji w bieżącym stosie lokalizacji i stosach lokalizacji alternatywnych.

Polecenie Push-Location cmdlet służy do zmiany na trzy różne lokalizacje. Trzecie wypychanie używa innej nazwy stosu. Parametr Get-Location Stack wyświetla zawartość domyślnego stosu. Parametr StackNameGet-Location wyświetla zawartość stosu o nazwie Stack2.

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

Przykład 4. Dostosowywanie monitu programu PowerShell

W tym przykładzie pokazano, jak dostosować wiersz polecenia programu PowerShell.

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

Funkcja, która definiuje wiersz polecenia, zawiera Get-Location polecenie, które jest uruchamiane za każdym razem, gdy wiersz pojawi się w konsoli programu .

Format domyślnego monitu programu PowerShell jest definiowany przez specjalną funkcję o nazwie prompt. Możesz zmienić monit w konsoli, tworząc nową funkcję o nazwie prompt.

Aby wyświetlić bieżącą funkcję wiersza polecenia, wpisz następujące polecenie: Get-Content Function:\prompt

Parametry

-PSDrive

Pobiera bieżącą lokalizację na określonym dysku programu PowerShell.

Jeśli na przykład znajdujesz się na dysku, możesz użyć tego parametru Cert: , aby znaleźć bieżącą lokalizację na C: dysku.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-PSProvider

Pobiera bieżącą lokalizację na dysku obsługiwanym przez określonego dostawcę programu PowerShell. Jeśli określony dostawca obsługuje więcej niż jeden dysk, to polecenie cmdlet zwraca lokalizację na ostatnio używanym dysku.

Jeśli na przykład znajdujesz się na dysku, możesz użyć tego parametruC:, aby znaleźć bieżącą lokalizację na dyskach dostawcy rejestru programu PowerShell.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Stack

Wskazuje, że to polecenie cmdlet wyświetla lokalizacje dodane do bieżącego stosu lokalizacji. Lokalizacje można dodawać do stosów przy użyciu Push-Location polecenia cmdlet .

Aby wyświetlić lokalizacje w innym stosie lokalizacji, użyj parametru StackName . Aby uzyskać informacje o stosach lokalizacji, zobacz Uwagi.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-StackName

Określa, jako tablicę ciągów, nazwane stosy lokalizacji. Wprowadź co najmniej jedną nazwę stosu lokalizacji.

Aby wyświetlić lokalizacje w bieżącym stosie lokalizacji, użyj parametru Stack . Aby utworzyć stos lokalizacji w bieżącym stosie lokalizacji, użyj Set-Location polecenia cmdlet .

To polecenie cmdlet nie może wyświetlić lokalizacji w nienazwanym stosie domyślnym, chyba że jest to bieżący stos.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

Dane wejściowe

None

Nie można potokować obiektów do tego polecenia cmdlet.

Dane wyjściowe

PathInfo

Domyślnie to polecenie cmdlet zwraca obiekt PathInfo .

PathInfoStack

Jeśli używasz parametrów Stack lub StackName , to polecenie cmdlet zwraca obiekt PathInfoStack .

Uwagi

Program PowerShell zawiera następujące aliasy dla programu Get-Location:

  • Wszystkie platformy:

    • gl
    • pwd

Program PowerShell obsługuje wiele obszarów runspace na proces. Każdy obszar uruchamiania ma własny bieżący katalog. Nie jest to samo co [System.Environment]::CurrentDirectory. Takie zachowanie może być problemem podczas wywoływania interfejsów API platformy .NET lub uruchamiania aplikacji natywnych bez podawania jawnych ścieżek katalogu. Polecenie Get-Location cmdlet zwraca bieżący katalog bieżącej przestrzeni uruchomieniowej programu PowerShell.

To polecenie cmdlet jest przeznaczone do pracy z danymi udostępnianymi przez dowolnego dostawcę. Aby wyświetlić listę dostawców w sesji, wpisz Get-PSProvider. Aby uzyskać więcej informacji, zobacz about_Providers.

Sposób interakcji parametrów PSProvider, PSDrive, Stack i StackName zależy od dostawcy. Niektóre kombinacje spowodują błędy, takie jak określenie dysku i dostawcy, który nie uwidacznia tego dysku. Jeśli nie określono parametrów, to polecenie cmdlet zwraca obiekt PathInfo dostawcy, który zawiera bieżącą lokalizację roboczą.

Stos jest ostatnią listą, w której dostępny jest tylko ostatnio dodany element. Elementy są dodawane do stosu w kolejności, w której są używane, a następnie pobierane do użycia w odwrotnej kolejności. Program PowerShell umożliwia przechowywanie lokalizacji dostawców w stosach lokalizacji. Program PowerShell tworzy nienazwany domyślny stos lokalizacji i można utworzyć wiele nazwanych stosów lokalizacji. Jeśli nie określisz nazwy stosu, program PowerShell używa bieżącego stosu lokalizacji. Domyślnie nienazwana lokalizacja domyślna to bieżący stos lokalizacji, ale możesz użyć Set-Location polecenia cmdlet , aby zmienić bieżący stos lokalizacji.

Aby zarządzać stosami lokalizacji, użyj poleceń cmdlet programu PowerShell *-Location w następujący sposób.

  • Aby dodać lokalizację do stosu lokalizacji, użyj Push-Location polecenia cmdlet .

  • Aby uzyskać lokalizację z stosu lokalizacji, użyj Pop-Location polecenia cmdlet .

  • Aby wyświetlić lokalizacje w bieżącym stosie lokalizacji, użyj parametru Get-Location Stack polecenia cmdlet . Aby wyświetlić lokalizacje w nazwanym stosie lokalizacji, użyj parametru Get-Location StackName polecenia cmdlet.

  • Aby utworzyć nowy stos lokalizacji, użyj parametru Push-Location StackName polecenia cmdlet. Jeśli określisz stos, który nie istnieje, Push-Location tworzy stos.

  • Aby utworzyć stos lokalizacji w bieżącym stosie lokalizacji, użyj parametru Set-Location StackName polecenia cmdlet.

Nienazwany domyślny stos lokalizacji jest w pełni dostępny tylko wtedy, gdy jest to bieżący stos lokalizacji. Jeśli ustawisz nazwany stos lokalizacji jako bieżący stos lokalizacji, nie możesz już używać Push-Location poleceń cmdlet lub Pop-Location do dodawania lub pobierania elementów ze stosu domyślnego lub używania tego polecenia cmdlet do wyświetlania lokalizacji w nienazwanym stosie. Aby ustawić bieżący stos bez nazwy, użyj parametru Set-Location StackName polecenia cmdlet z wartością $null lub pustym ciągiem ("").