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 pomocí rutiny změní aktuální umístění na umístění naposledy vložené do zásobníku Push-Location . Umístění můžete otevřít z výchozího zásobníku nebo ze zásobníku, který vytvoříte pomocí Push-Location 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í vaše 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řesun mezi umístěními různých poskytovatelů

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í Push-Location rutiny a Pop-Location k přesunu 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 odešle aktuální umístění systému souborů do zásobníku a přesune se na jednotku HKLM podporovanou zprostředkovatelem 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átů PowerShellu.

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

Parametry

-PassThru

Předá do kanálu objekt, který představuje umístění. 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 je umístění vynořeno. Zadejte název zásobníku umístění.

Bez tohoto parametru zobrazí Pop-Location 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 zásobník umístění nastavit 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 Aplikace nemůže otevřít umístění z nepojmenované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 vložit do kanálu.

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 obsahuje následující aliasy pro Pop-Location:

  • Všechny platformy:
    • popd

PowerShell podporuje více prostředí runspace na proces. Každý runspace má svůj vlastní aktuální adresář. Toto není totéž jako [System.Environment]::CurrentDirectory. Toto chování může být problém při volání rozhraní API .NET nebo spouštění nativních aplikací bez poskytnutí explicitních cest k adresářům.

I když rutiny umístění nastavily aktuální adresář pro celý proces, nemůžete se na něj spolehnout, protože jiný runspace ho může kdykoli změnit. Rutiny location 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 seznam posledního příchozího, prvního ven, ve kterém je 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žíváte, a pak je načtete pro použití v opačném pořadí. PowerShell umožňuje ukládat umístění poskytovatele do zásobníků umístění.

PowerShell vytvoří nepojmenovaný výchozí zásobník umístění a můžete vytvořit více zásobníků pojmenovaných umístění. Pokud nezadáte název zásobníku, PowerShell použije zásobník aktuálního umístění. Ve výchozím nastavení je nepojmenovaným výchozím umístěním aktuální zásobník umístění, ale ke změně aktuálního zásobníku Set-Location umístění můžete použít rutinu .

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 polohu 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ří zásobník.

  • Pokud chcete zásobník umístění nastavit 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 době, kdy se jedná o aktuální zásobník umístění. Pokud z pojmenovaného zásobníku umístění nastavíte aktuální zásobník umístění, nebudete už moct pomocí Push-Location rutin nebo Pop-Location přidávat položky z výchozího zásobníku nebo je z výchozího zásobníku získávat, ani pomocí Get-Location rutiny zobrazit umístění v nepojmenovaném zásobníku. Pokud chcete z nepojmenovaného zásobníku nastavit aktuální zásobník, použijte parametr Set-LocationStackName rutiny s hodnotou $Null nebo prázdný řetězec ("").

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

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