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 umożliwia znalezienie 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

Na przykład jeśli 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 funkcji 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 używać parametrów Stack i StackName , Get-Location aby 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 Stack wyświetla Get-Location 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 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. Monit można zmienić 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 parametru C: , 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 Set-Location lokalizacji, użyj polecenia cmdlet .

To polecenie cmdlet nie może wyświetlić lokalizacji w nienazwanym domyślnym stosie, 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 przekazać potoku danych wejściowych do tego polecenia cmdlet.

Dane wyjściowe

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

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

Uwagi

Program PowerShell obsługuje wiele obszarów runspace na proces. Każdy obszar runspace ma swój własny bieżący katalog. 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.

Sposoby interakcji parametrów PSProvider, PSDrive,Stack i StackName zależą 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 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 nienazwaną lokalizacją domyślną jest 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 Push-Location lokalizacji, użyj polecenia cmdlet .

  • Aby uzyskać lokalizację z stosu Pop-Location lokalizacji, użyj 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 w 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 w bieżącym stosie lokalizacji, nie możesz już Push-Location używać poleceń cmdlet lub Pop-Location do dodawania lub pobierania elementów z domyślnego stosu lub używania tego polecenia cmdlet do wyświetlania lokalizacji w nienazwanym stosie. Aby ustawić nienazwany stos bieżącego stosu, użyj parametru Set-LocationStackName polecenia cmdlet z wartością $null lub pustym ciągiem ("").