Pop-Location

Změní aktuální umístění na umístění naposledy vložené do zásobníku.

Syntax

Pop-Location
   [-PassThru]
   [-StackName <String>]
   [<CommonParameters>]

Description

Rutina Pop-Location změní aktuální umístění na umístění naposledy vložené do zásobníku pomocí rutiny Push-Location . Umístění můžete zobrazit z výchozího zásobníku nebo ze zásobníku Push-Location , který vytvoříte pomocí příkazu.

Příklady

Příklad 1: Změna na nejnovější umístění

PS C:\> Pop-Location

Tento příkaz změní umístění na umístění, které bylo naposledy přidáno do aktuálního zásobníku.

Příklad 2: Změna na nejnovější umístění v pojmenovaném zásobníku

PS C:\> Pop-Location -StackName "Stack2"

Tento příkaz změní umístění na umístění, které bylo naposledy přidáno do zásobníku umístění Stack2.

Další informace o zásobníkech umístění najdete v poznámkách.

Příklad 3: Přechod mezi umístěními pro různé poskytovatele

PS C:\> pushd HKLM:\Software\Microsoft\PowerShell
PS HKLM:\Software\Microsoft\PowerShell> pushd Cert:\LocalMachine\TrustedPublisher
PS cert:\LocalMachine\TrustedPublisher> popd
PS HKLM:\Software\Microsoft\PowerShell> popd
PS C:\>

Tyto příkazy používají rutiny k Pop-Location přesunu Push-Location mezi umístěními podporovanými různými poskytovateli PowerShellu. Příkazy používají pushd alias pro Push-Location a popd alias pro Pop-Location.

První příkaz nasdílí aktuální umístění systému souborů do zásobníku a přesune se na jednotku HKLM podporovanou poskytovatelem registru PowerShellu.

Druhý příkaz nasdílí umístění registru do zásobníku a přesune se do umístění podporovaného poskytovatelem certifikátu PowerShellu.

Poslední dva příkazy zobrazí tato umístění mimo zásobník. První popd příkaz se vrátí na jednotku registru a druhý příkaz se vrátí na jednotku systému souborů.

Parametry

-PassThru

Předá objekt, který představuje umístění kanálu. Ve výchozím nastavení tato rutina negeneruje žádný výstup.

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-StackName

Určuje zásobník umístění, ze kterého se umístění rozbalí. Zadejte název zásobníku umístění.

Bez tohoto parametru Pop-Location se zobrazí umístění z aktuálního zásobníku umístění. Ve výchozím nastavení je aktuální zásobník umístění nepojmenovaný výchozí zásobník umístění, který PowerShell 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 . Další informace o zásobníkech umístění najdete v poznámkách.

Pop-Location Nelze vytvořit místní umístění z nenamedovaného výchozího zásobníku, pokud se nejedná o aktuální zásobník umístění.

Type:String
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

Vstupy

None

Vstup do této rutiny nelze převést.

Výstupy

None, System.Management.Automation.PathInfo

Tato rutina vygeneruje objekt System.Management.Automation.PathInfo , který představuje umístění, pokud zadáte parametr PassThru . Jinak tato rutina negeneruje žádný výstup.

Poznámky

PowerShell podporuje více prostorů 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 poskytnutí explicitních cest adresářů.

I když rutiny umístění nastavily aktuální adresář pro celý proces, nemůžete na něm záviset, protože ho může kdykoli změnit jiný runspace. Rutiny umístění byste měli použít k provádění operací založených na cestě pomocí aktuálního pracovního adresáře specifického pro aktuální runspace.

Zásobník je poslední první seznam, ve kterém je možné získat přístup pouze k naposledy přidané položce. Položky přidáte do zásobníku v pořadí, v jakém je použijete, a pak je načtete pro použití v obráceném pořadí. PowerShell umožňuje ukládat umístění poskytovatelů do zásobníků umístění.

PowerShell vytvoří nenázvový výchozí zásobník umístění a můžete vytvořit více 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 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 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 .

Nepojmenovaný výchozí zásobník umístění je plně přístupný jenom v případě, že 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 nebo Pop-Location získávat položky z výchozího zásobníku nebo pomocí Get-Location rutiny zobrazovat umístění v nepojmenovaném zásobníku. Pokud chcete, aby zásobník bez názvu byl aktuální, použijte parametr Set-LocationStackName rutiny s hodnotou $Null nebo prázdným řetězcem ("").

Můžete také odkazovat Pop-Location na jeho předdefinovaný alias popd. Další informace najdete v tématu about_Aliases.

Pop-Location je navržen tak, aby fungoval s daty vystavenými libovolným poskytovatelem. Pokud chcete zobrazit seznam poskytovatelů dostupných v relaci, zadejte Get-PSProvider. Další informace najdete v tématu about_Providers.