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-Location
StackName 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-Location
Stack polecenia cmdlet. Aby wyświetlić lokalizacje w nazwanym stosie lokalizacji, użyj parametruGet-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 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-Location
StackName polecenia cmdlet z wartością $null
lub pustym ciągiem (""
).