Get-Location
Pobiera informacje o bieżącej lokalizacji roboczej lub stosie lokalizacji.
Składnia
Get-Location
[-PSProvider <String[]>]
[-PSDrive <String[]>]
[-UseTransaction]
[<CommonParameters>]
Get-Location
[-Stack]
[-StackName <String[]>]
[-UseTransaction]
[<CommonParameters>]
Opis
Polecenie cmdlet Get-Location pobiera obiekt reprezentujący bieżący katalog, podobnie jak polecenie print working directory (pwd).
Podczas przechodzenia między dyskami programu Windows PowerShell program Windows 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 Windows 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
Przykłady
Przykład 1. Wyświetlanie bieżącej lokalizacji dysku
PS C:\> Get-Location
Path
----
C:\WINDOWS
To polecenie wyświetla lokalizację na bieżącym dysku programu Windows PowerShell.
Jeśli na przykład jesteś w katalogu systemu Windows dysku C:, wyświetla ścieżkę do tego katalogu.
Przykład 2. Wyświetlanie bieżącej lokalizacji dla różnych dysków
The first command uses the **Set-Location** cmdlet to set the current location to the Windows subdirectory of the C: drive.
PS C:\> Set-Location C:\Windows
The second command uses the **Set-Location** cmdlet to change the location to the HKLM:\Software\Microsoft registry key. When you change to a location in the HKLM: drive, Windows PowerShell retains your location in the C: drive.
PS C:\>
PS C:\WINDOWS> Set-Location HKLM:\Software\Microsoft
PS HKLM:\Software\Microsoft>
The third command uses the **Set-Location** cmdlet to change the location to the HKCU:\Control Panel\Input Method registry key.
PS C:\>
PS HKLM:\Software\Microsoft> Set-Location "HKCU:\Control Panel\Input Method"
PS HKCU:\Control Panel\Input Method>
The fourth command uses the **Get-Location** cmdlet to find the current location on the C: drive. It uses the *PSDrive* parameter to specify the drive.
PS C:\>
PS HKCU:\Control Panel\Input Method> Get-Location -PSDrive C
Path
----
C:\WINDOWS
The fifth command uses the **Set-Location** cmdlet to return to the C: drive. Even though the command does not specify a subdirectory, Windows PowerShell returns you to the saved location.
PS C:\>
PS HKCU:\Control Panel\Input Method> Set-Location C:
PS C:\WINDOWS>
The sixth command uses the **Get-Location** cmdlet to find the current location in the drives supported by the Windows PowerShell registry provider. **Get-Location** returns the location of the most recently accessed registry drive, HKCU.
PS C:\>
PS C:\WINDOWS> Get-Location -PSProvider registry
Path
----
HKCU:\Control Panel\Input Method
To see the current location in the HKLM: drive, you need to use the *PSDrive* parameter to specify the drive. The seventh command does just this:
PS C:\>
PS C:\WINDOWS> Get-Location -PSDrive HKLM
Path
----
HKLM:\Software\Microsoft
W tym przykładzie pokazano użycie get-location do wyświetlania bieżącej lokalizacji na różnych dyskach programu Windows PowerShell.
Przykład 3. Wyświetlanie listy lokalizacji w bieżącym stosie lokalizacji i stosach lokalizacji alternatywnych
The first command sets the current location to the Windows directory on the C: drive.
PS C:\> Set-Location C:\Windows
The second command uses the **Push-Location** cmdlet to push the current location (C:\Windows) onto the current location stack and change to the System32 subdirectory. Because no stack is specified, the current location is pushed onto the current location stack. By default, the current location stack is the unnamed default location stack.
C:\WINDOWS> Push-Location System32
The third command uses the *StackName* parameter of the **Push-Location** cmdlet to push the current location (C:\Windows\System32) onto the Stack2 stack and to change the current location to the WindowsPowerShell subirectory. If the Stack2 stack does not exist, **Push-Location** creates it.
C:\Windows\System32> Push-Location WindowsPowerShell -StackName Stack2
The fourth command uses the *Stack* parameter of the **Get-Location** cmdlet to get the locations in the current location stack. By default, the current stack is the unnamed default location stack.
C:\WINDOWS\system32\WindowsPowerShell> Get-Location -Stack
Path
----
C:\WINDOWS
The fifth command uses the *StackName* parameter of the **Get-Location** cmdlet to get the locations in the Stack2 stack.
PS C:\>
C:\WINDOWS\system32\WindowsPowerShell>get-location -stackname Stack2
Path
----
C:\WINDOWS\system32
To polecenie pokazuje, jak używać
Przykład 4. Dostosowywanie monitu programu Windows PowerShell
PS C:\>
function prompt { 'PowerShell: ' + (get-location) + '> '}
PowerShell: C:\WINDOWS>
W tym przykładzie pokazano, jak dostosować wiersz polecenia programu Windows PowerShell. Funkcja definiująca wiersz polecenia zawiera get-location polecenie, które jest uruchamiane za każdym razem, gdy w konsoli pojawi się monit.
Format domyślnego monitu programu Windows 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
Polecenie rozpoczyna się od słowa kluczowego funkcji, po którym następuje nazwa funkcji, wiersz polecenia. Treść funkcji jest wyświetlana w nawiasach klamrowych ( {} ).
To polecenie definiuje nowy wiersz, który rozpoczyna się od ciągu programu PowerShell: . Aby dołączyć bieżącą lokalizację, używa polecenia Get-Location, które jest uruchamiane po wywołaniu funkcji monitu. Monit kończy się ciągiem ">".
Parametry
-PSDrive
Określa bieżącą lokalizację na określonym dysku programu Windows PowerShell, który to polecenie cmdlet pobiera w operacji.
Jeśli na przykład znajdujesz się w dysku Certificate: , możesz użyć tego parametru, aby znaleźć bieżącą lokalizację na dysku C:.
Typ: | String[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-PSProvider
Określa bieżącą lokalizację na dysku obsługiwanym przez dostawcę programu Windows PowerShell, że to polecenie cmdlet jest wykonywane w operacji.
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 C:, możesz użyć tego parametru, aby znaleźć bieżącą lokalizację na dyskach dostawcy Windows PowerShellRegistry.
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 w bieżącym stosie lokalizacji.
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 parametru Set-Location. Aby uzyskać informacje o stosach lokalizacji, zobacz Uwagi.
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 |
-UseTransaction
Zawiera polecenie w aktywnej transakcji. Ten parametr jest prawidłowy tylko wtedy, gdy transakcja jest w toku. Aby uzyskać więcej informacji, zobacz about_Transactions.
Typ: | SwitchParameter |
Aliasy: | usetx |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
Dane wejściowe
None
Nie można przekazać danych wejściowych potoku 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 StackInfo. W przeciwnym razie zwraca obiekt PathInfo.
Uwagi
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 iStackName parametrów. Niektóre kombinacje spowodują błędy, takie jak określenie dysku i dostawcy, który nie uwidacznia tego dysku. Jeśli nie określono żadnych parametrów, to polecenie cmdlet zwraca obiekt PathInfo dla 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 Windows PowerShell umożliwia przechowywanie lokalizacji dostawców w stosach lokalizacji. Program Windows PowerShell tworzy nienazwany domyślny stos lokalizacji i można utworzyć wiele nazwanych stosów lokalizacji. Jeśli nie określisz nazwy stosu, program Windows PowerShell używa bieżącego stosu lokalizacji. Domyślnie nienazwana lokalizacja domyślna to bieżący stos lokalizacji, ale możesz użyć polecenia cmdlet Set-Location, aby zmienić bieżący stos lokalizacji.
Aby zarządzać stosami lokalizacji, użyj poleceń cmdlet Windows PowerShellLocation w następujący sposób.
Aby dodać lokalizację do stosu lokalizacji, użyj polecenia cmdlet Push-Location.
Aby uzyskać lokalizację z stosu lokalizacji, użyj polecenia cmdlet Pop-Location.
Aby wyświetlić lokalizacje w bieżącym stosie lokalizacji, użyj parametru Stack polecenia cmdlet Get-Location. Aby wyświetlić lokalizacje w nazwanym stosie lokalizacji, użyj parametru StackName polecenia cmdlet Get-Location.
Aby utworzyć nowy stos lokalizacji, użyj parametru StackName polecenia cmdlet Push-Location. Jeśli określisz stos, który nie istnieje, wypychania tworzy stos.
Aby utworzyć stos lokalizacji w bieżącym stosie lokalizacji, użyj parametru StackName polecenia cmdlet Set-Location.
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żyć lokalizacji wypychanej lub pop-location dodać lub pobrać elementy ze stosu domyślnego lub użyć tego polecenia cmdlet, aby wyświetlić lokalizacje w nienazwanym stosie. Aby ustawić bieżący stos bez nazwy, użyj parametru StackName polecenia cmdlet Set-Location z wartością $null lub pustym ciągiem ("").