Get-Location
Získá informace o aktuálním pracovním umístění nebo zásobníku umístění.
Syntaxe
Get-Location
[-PSProvider <String[]>]
[-PSDrive <String[]>]
[-UseTransaction]
[<CommonParameters>]
Get-Location
[-Stack]
[-StackName <String[]>]
[-UseTransaction]
[<CommonParameters>]
Description
Rutina Get-Location získá objekt, který představuje aktuální adresář, podobně jako příkaz print working directory (pwd).
Když se přesunete mezi jednotkami Windows PowerShellu, prostředí Windows PowerShell zachová vaše umístění na každé jednotce. Pomocí této rutiny můžete najít umístění na každé jednotce.
Pomocí této rutiny můžete získat aktuální adresář za běhu a použít ho ve funkcích a skriptech, například ve funkci, která zobrazuje aktuální adresář v příkazovém řádku Windows PowerShellu.
Tuto rutinu můžete použít také k zobrazení umístění v zásobníku umístění. Další informace najdete v poznámkách a popisech parametrů Stack a Stack Name.
Příklady
Příklad 1: Zobrazení aktuálního umístění jednotky
PS C:\> Get-Location
Path
----
C:\WINDOWS
Tento příkaz zobrazí umístění na aktuální jednotce Windows PowerShellu.
Pokud jste například v adresáři Systému Windows jednotky C: , zobrazí se cesta k danému adresáři.
Příklad 2: Zobrazení aktuálního umístění pro různé jednotky
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
Tento příklad ukazuje použití Get-Location k zobrazení aktuálního umístění na různých jednotkách Windows PowerShellu.
Příklad 3: Výpis umístění v aktuálním zásobníku umístění a zásobníkech alternativních umístění
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
Tento příkaz ukazuje, jak použít Stack a StackName parametry Get-Location k výpisu umístění v aktuálním zásobníku umístění a zásobníkech alternativních umístění. Další informace o zásobníkech umístění najdete v poznámkách.
Příklad 4: Přizpůsobení příkazového řádku Windows PowerShellu
PS C:\>
function prompt { 'PowerShell: ' + (get-location) + '> '}
PowerShell: C:\WINDOWS>
Tento příklad ukazuje, jak přizpůsobit výzvu prostředí Windows PowerShell. Funkce, která definuje výzvu, obsahuje příkaz Get-Location, který se spustí při každém zobrazení výzvy v konzole.
Formát výchozí výzvy prostředí Windows PowerShell je definován speciální funkcí s názvem prompt. Výzvu v konzole můžete změnit tak, že vytvoříte novou funkci s názvem prompt.
Pokud chcete zobrazit aktuální funkci příkazového řádku, zadejte následující příkaz: Get-Content Function:prompt
Příkaz začíná klíčovým slovem funkce následovaným názvem funkce, výzvou. Tělo funkce se zobrazí ve složených závorkách ({}).
Tento příkaz definuje nový řádek, který začíná řetězcem PowerShellu: . K připojení aktuálního umístění se používá příkaz Get-Location, který se spustí při zavolání funkce výzvy. Výzva končí řetězcem "> ".
Parametry
-PSDrive
Určuje aktuální umístění v zadané jednotce Windows PowerShellu, kterou tato rutina v operaci získá.
Pokud jste například v jednotce Certificate: (Certifikát: jednotka), můžete pomocí tohoto parametru najít aktuální umístění na jednotce C: .
Typ: | String[] |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-PSProvider
Určuje aktuální umístění na jednotce podporované poskytovatelem Windows PowerShellu, které tato rutina v operaci získá.
Pokud zadaný zprostředkovatel podporuje více než jednu jednotku, vrátí tato rutina umístění na naposledy přístupné jednotce.
Pokud jste například na jednotce C:, můžete pomocí tohoto parametru najít aktuální umístění na jednotkách zprostředkovatele Windows PowerShellRegistry.
Typ: | String[] |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-Stack
Označuje, že tato rutina zobrazuje umístění v aktuálním zásobníku umístění.
Pokud chcete zobrazit umístění v jiném zásobníku umístění, použijte parametr StackName. Informace o zásobníkech umístění najdete v poznámkách.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-StackName
Určuje pojmenované zásobníky umístění jako pole řetězců. Zadejte jeden nebo více názvů zásobníků umístění.
Pokud chcete zobrazit umístění v aktuálním zásobníku umístění, použijte parametr Stack. Pokud chcete vytvořit zásobník umístění jako aktuální zásobník umístění, použijte parametr Set-Location. Informace o zásobníkech umístění najdete v poznámkách.
Tato rutina nemůže zobrazit umístění v nepojmenovaném výchozím zásobníku, pokud se nejedná o aktuální zásobník.
Typ: | String[] |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-UseTransaction
Zahrnuje příkaz v aktivní transakci. Tento parametr je platný pouze v případě, že probíhá transakce. Další informace najdete v tématu about_Transactions.
Typ: | SwitchParameter |
Aliasy: | usetx |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
Vstupy
None
Vstup do této rutiny nelze převést.
Výstupy
System.Management.Automation.PathInfo or System.Management.Automation.PathInfoStack
Pokud použijete parametry Stack nebo StackName, vrátí tato rutina objekt StackInfo. V opačném případě vrátí PathInfo objektu.
Poznámky
Tato rutina je navržená tak, aby fungovala s daty vystavenými jakýmkoli poskytovatelem. Chcete-li zobrazit seznam zprostředkovatelů v relaci, zadejte
Get-PSProvider
. Další informace najdete v tématu about_Providers.Způsoby, jak PSProvider, PSDrive, Stacka StackName parametry interagují na poskytovateli. Některé kombinace způsobí chyby, například zadání jednotky i poskytovatele, který tuto jednotku nezpřístupňuje. Pokud nejsou zadány žádné parametry, vrátí tato rutina objekt PathInfo pro zprostředkovatele, který obsahuje aktuální pracovní umístění.
Zásobník je poslední první seznam, ve kterém je přístupná pouze naposledy přidaná položka. Položky přidáte do zásobníku v pořadí, v jakém je používáte, a pak je načtete pro použití v obráceném pořadí. Windows PowerShell umožňuje ukládat umístění zprostředkovatele do zásobníků umístění. Windows PowerShell vytvoří nepojmenovaný výchozí zásobník umístění a můžete vytvořit několik pojmenovaných zásobníků umístění. Pokud nezadáte název zásobníku, windows PowerShell použije aktuální zásobník umístění. Ve výchozím nastavení je nepojmenované výchozí umístění aktuální zásobník umístění, ale ke změně aktuálního zásobníku umístění můžete použít rutinu Set- Location.
Ke správě zásobníků umístění použijte rutiny Windows PowerShellLocation následujícím způsobem.
Pokud chcete přidat umístění do zásobníku umístění, použijte rutinu Push-Location.
Pokud chcete získat umístění ze zásobníku umístění, použijte rutinu Pop-Location.
Pokud chcete zobrazit umístění v aktuálním zásobníku umístění, použijte parametr Stack rutiny Get-Location. Pokud chcete zobrazit umístění v pojmenovaném zásobníku umístění, použijte parametr StackName rutiny Get- Location.
Pokud chcete vytvořit nový zásobník umístění, použijte parametr StackName rutiny Push- Location. Pokud zadáte zásobník, který neexistuje, umístění push-location vytvoří zásobník.
Pokud chcete vytvořit zásobník umístění jako aktuální zásobník umístění, použijte parametr StackName rutiny Set- Location.
Výchozí zásobník nenaznačeného umístění je plně přístupný jenom v případech, kdy se jedná o aktuální zásobník umístění. Pokud nastavíte pojmenovaný zásobník umístění jako aktuální zásobník umístění, už nemůžete použít
Push-Location nebo Pop-Location přidat nebo získat položky z výchozího zásobníku nebo pomocí tohoto příkazu rutiny zobrazit umístění v nepojmenovaném zásobníku. Pokud chcete, aby byl zásobník bez názvu aktuální, použijte parametr StackName rutiny Set-Location s hodnotou $null nebo prázdným řetězcem ("").