Udostępnij za pośrednictwem


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

Podczas przechodzenia 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 i 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 zmieniania lokalizacji na kilka różnych ścieżek w różnych dyskach 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-LocationStack i StackName wyświetlić listę lokalizacji w bieżącym stosie lokalizacji i stosach lokalizacji alternatywnej.

Polecenie Push-Location cmdlet służy do zmiany na trzy różne lokalizacje. Trzecie wypychanie używa innej nazwy stosu. Parametr Get-LocationStack wyświetla zawartość domyślnego stosu. Parametr Get-LocationStackName 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 wiersza polecenia programu PowerShell

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

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

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

Format domyślnego wiersza polecenia 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 Cert: dysku, możesz użyć tego parametru, 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 C: dysku, możesz użyć tego parametru, 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 jako stos bieżącej 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 Get-Locationprogramu :

  • Wszystkie platformy:

    • gl
    • pwd

Program PowerShell obsługuje wiele obszarów działania na proces. Każdy obszar działania ma własny bieżący katalog. To nie jest to samo co [System.Environment]::CurrentDirectory. To 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 dla dostawcy, który zawiera bieżącą lokalizację roboczą.

Stos jest ostatnią, pierwszą listą, w której dostępny jest tylko ostatnio dodany element. Elementy są dodawane do stosu w kolejności ich użycia, 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 stos lokalizacji domyślnej 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ę ze stosu lokalizacji, użyj Pop-Location polecenia cmdlet .

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

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

  • Aby utworzyć stos lokalizacji na bieżącym stosie lokalizacji, użyj parametru Set-LocationStackName 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 na bieżącym stosie 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 stosie bez nazwy. Aby ustawić nienazwany stos jako bieżący stos, użyj parametru Set-LocationStackName polecenia cmdlet z wartością $null lub pustym ciągiem ("").