Push-Location

Přidá aktuální umístění do horní části zásobníku umístění.

Syntax

Push-Location
    [[-Path] <String>]
    [-PassThru]
    [-StackName <String>]
    [<CommonParameters>]
Push-Location
    [-LiteralPath <String>]
    [-PassThru]
    [-StackName <String>]
    [<CommonParameters>]

Description

Rutina Push-Location přidá ("pushes") aktuální umístění do zásobníku umístění. Pokud zadáte cestu, Push-Location odešle aktuální umístění do zásobníku umístění a pak změní aktuální umístění na umístění určené cestou. Pomocí této rutiny Pop-Location můžete získat umístění ze zásobníku umístění.

Rutina Push-Location ve výchozím nastavení nasdílí aktuální umístění do aktuálního zásobníku umístění, ale pomocí parametru StackName můžete zadat zásobník alternativního umístění. Pokud zásobník neexistuje, Push-Location vytvoří ho.

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

Příklady

Příklad 1

Tento příklad nasdílí aktuální umístění do výchozího zásobníku umístění a pak změní umístění na C:\Windows.

PS C:\> Push-Location C:\Windows

Příklad 2

Tento příklad nasdílí aktuální umístění do zásobníku RegFunction a změní aktuální umístění na HKLM:\Software\Policies umístění.

PS C:\> Push-Location HKLM:\Software\Policies -StackName RegFunction

Rutiny Umístění můžete použít na libovolné jednotce PowerShellu (PSDrive).

Příklad 3

Tento příkaz odešle aktuální umístění do výchozího zásobníku. Umístění se nezmění.

PS C:\> Push-Location

Příklad 4 – Vytvoření a použití pojmenovaného zásobníku

Tyto příkazy ukazují, jak vytvořit a použít pojmenovaný zásobník umístění.

PS C:\> Push-Location ~ -StackName Stack2
PS C:\Users\User01> Pop-Location -StackName Stack2
PS C:\>

První příkaz nasdílí aktuální umístění do nového zásobníku s názvem Stack2 a pak změní aktuální umístění na domovský adresář reprezentovaný v příkazu symbolem tilda (~), který při použití na jednotkách zprostředkovatele FileSystem odpovídá $HOME.

Pokud stack2 v relaci ještě neexistuje, Push-Location vytvoří ho. Druhý příkaz použije rutinu Pop-Location k otevření původního umístění (C:\) ze zásobníku Stack2. Bez parametru Pop-Location StackName by se zobrazilo umístění z nepojmenovaného výchozího zásobníku.

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

Parametry

-LiteralPath

Určuje cestu k novému umístění. Na rozdíl od parametru Path se hodnota parametru LiteralPath používá přesně tak, jak je zadána. Žádné znaky nejsou interpretovány jako zástupné znaky. Pokud cesta obsahuje řídicí znaky, uzavřete ji do jednoduchých uvozovek. Jednoduché uvozovky říkají PowerShellu, aby nepřekládaly žádné znaky jako řídicí sekvence.

Type:String
Aliases:PSPath, LP
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-PassThru

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

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

-Path

Změní umístění na umístění určené touto cestou po přidání (nasdílení) aktuálního umístění do horní části zásobníku. Zadejte cestu k libovolnému umístění, jehož zprostředkovatel tuto rutinu podporuje. Jsou povoleny zástupné cardy. Název parametru je volitelný.

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

-StackName

Určuje zásobník umístění, do kterého se přidá aktuální umístění. Zadejte název zásobníku umístění. Pokud zásobník neexistuje, Push-Location vytvoří ho.

Bez tohoto parametru Push-Location přidá umístění do 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.

Poznámka:

Push-Location Aplikace nemůže přidat umístění do 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:Default stack
Required:False
Accept pipeline input:True
Accept wildcard characters:False

Vstupy

String

K této rutině můžete převést řetězec, který obsahuje cestu (ale ne literálovou cestu).

Výstupy

None

Ve výchozím nastavení tato rutina nevrací žádný výstup.

PathInfo

Pokud použijete parametr PassThru , vrátí tato rutina objekt PathInfo představující aktuální cestu po operaci rutiny.

Poznámky

PowerShell obsahuje následující aliasy pro Push-Location:

  • Všechny platformy:
    • pushd

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.

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í prostředí Runspace.

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 umístění PowerShellu 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 rutiny Get-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-LocationPop-Location nebo 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 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).

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

Rutina Push-Location je navržená tak, aby fungovala 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.