Sdílet prostřednictvím


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

PathInfo

Ve výchozím nastavení vrátí tato rutina objekt PathInfo.

PathInfoStack

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 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, 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 ("").