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[]>]
   [-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 i StackName.

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ć Stack i Stack Name parametrów Get-Location, aby wyświetlić listę lokalizacji w bieżącym stosie lokalizacji i stosach lokalizacji alternatywnej. Aby uzyskać więcej informacji na temat stosów lokalizacji, zobacz Uwagi.

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ówPSProvider PSDrive, Stacki StackName 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 ("").