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[]>]
[<CommonParameters>]
Get-Location
[-Stack]
[-StackName <String[]>]
[<CommonParameters>]
Description
Rutina Get-Location
získá objekt, který představuje aktuální adresář, podobně jako příkaz print working directory (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 StackName .
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 Windows
adresáři C:
jednotky, 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í k zobrazení aktuálního Get-Location
umístění v různých jednotkách PowerShellu. Set-Location
slouží 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 pomocí parametrů Get-Location
Stack a StackName vypsat 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
se používá 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 Stack Get-Location
zobrazuje obsah výchozího zásobníku. Parametr StackName Get-Location
pro zobrazení obsahu 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 Get-Location
příkaz, 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 Cert:
jednotce, můžete tento parametr použít k vyhledání aktuálního 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 C:
jednotce, můžete tento parametr použít k vyhledání aktuálního 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á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 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 |
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 , tato rutina vrátí PathInfoStack objekt.
Poznámky
PowerShell obsahuje následující aliasy pro Get-Location
:
Všechny platformy:
gl
pwd
PowerShell podporuje více prostředí runspace na proces. Každý runspace má svůj vlastní aktuální adresář.
To není totéž 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. Pokud chcete zobrazit seznam poskytovatelů ve vaší relaci, zadejte Get-PSProvider
. Další informace najdete v tématu about_Providers.
Způsoby interakce parametrů PSProvider, PSDrive, Stack a StackName závisí 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 pomocí rutiny Set-Location
můžete změnit aktuální zásobník umístění.
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 tuto 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
.K vytvoření nového zásobníku umístění použijte parametr StackName rutiny
Push-Location
. Pokud zadáte zásobník, který neexistuje,Push-Location
vytvoří se 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í, nebudete už moct přidávat Push-Location
Pop-Location
nebo získávat položky z výchozího zásobníku nebo pomocí této 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 s hodnotou $null
nebo prázdným řetězcem (""
Set-Location
).