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 StackName Get-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.
Typ: | String[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | 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.
Typ: | String[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | 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.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | 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.
Typ: | String[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
Dane wejściowe
None
Nie można potokować obiektów do tego polecenia cmdlet.
Dane wyjściowe
Domyślnie to polecenie cmdlet zwraca obiekt PathInfo .
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 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 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 (""
).