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 tiskového pracovního adresáře (pwd).
Při přechodu mezi jednotkami PowerShellu zachová PowerShell vaše umístění na každé jednotce. Pomocí této rutiny můžete najít umístění na každé jednotce.
Tuto rutinu můžete použít k získání aktuálního adresáře za běhu a jeho použití ve funkcích a skriptech, například ve funkci, která zobrazuje aktuální adresář v příkazovém řádku 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
Tento příkaz zobrazí vaše umístění na aktuální jednotce PowerShellu.
PS C:\Windows> Get-Location
Path
----
C:\Windows
Pokud jste například v adresáři 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
Tento příklad ukazuje použití Get-Location
k zobrazení aktuálního umístění na různých jednotkách PowerShellu.
Set-Location
se používá ke změně umístění na několik různých cest na různých psDrivech.
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
Příklad 3: Získání umístění pomocí zásobníků
Tento příklad 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 alternativních zásobníkech umístění.
Rutina Push-Location
slouží ke změně na tři různá umístění. Třetí nasdílení změn používá jiný název zásobníku. Parametr StackGet-Location
zobrazí obsah výchozího zásobníku. Parametr StackNameGet-Location
zobrazí obsah zásobníku s názvem 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
Příklad 4: Přizpůsobení příkazového řádku PowerShellu
Tento příklad ukazuje, jak přizpůsobit příkazový řádek PowerShellu.
PS C:\>
function prompt { 'PowerShell: ' + (Get-Location) + '> '}
PowerShell: C:\>
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 PowerShellu je definován speciální funkcí s názvem prompt
. Výzvu můžete změnit v konzole vytvořením nové funkce s názvem prompt
.
Pokud chcete zobrazit aktuální funkci příkazového řádku, zadejte následující příkaz: Get-Content Function:\prompt
Parametry
-PSDrive
Získá aktuální umístění v zadané jednotce PowerShellu.
Pokud jste například na jednotce Cert:
, můžete pomocí tohoto parametru najít aktuální umístění na C:
jednotce.
Typ: | String[] |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-PSProvider
Získá aktuální umístění na jednotce podporované zadaným poskytovatelem PowerShellu. 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 poskytovatele registru PowerShellu.
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 zobrazí umístění přidaná do aktuálního zásobníku umístění. Umístění do zásobníků můžete přidat pomocí rutiny Push-Location
.
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ámky.
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 rutinu Set-Location
.
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
Do této rutiny nemůžete roušit objekty.
Výstupy
Ve výchozím nastavení vrátí tato rutina objekt PathInfo.
Pokud použijete parametry Stack nebo StackName, vrátí tato rutina objekt PathInfoStack.
Poznámky
Windows PowerShell obsahuje následující aliasy pro Get-Location
:
gl
pwd
PowerShell podporuje více prostředí runspace na proces. Každý runspace má svůj vlastní aktuální adresář.
To není stejné jako [System.Environment]::CurrentDirectory
. Toto chování může být problém při volání rozhraní .NET API nebo spouštění nativních aplikací bez poskytování explicitních cest k adresářům.
Rutina Get-Location
vrátí aktuální adresář aktuálního prostředí Runspace PowerShellu.
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 naleznete 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í. PowerShell umožňuje ukládat umístění zprostředkovatelů do zásobníků umístění. 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, 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 PowerShellu *-Location
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 rutinyGet-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,Push-Location
zásobník vytvoří.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 vytvoříte zásobník pojmenovaného umístění jako aktuální zásobník umístění, nebudete už moct použít rutiny Push-Location
nebo Pop-Location
k přidání nebo získání položek z výchozího zásobníku nebo použití této rutiny k zobrazení 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 (""
).