Push-Location

Přidá aktuální umístění na začátek 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á ("nasdílí") 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 poté změní aktuální umístění na umístění určené cestou. K získání umístění ze zásobníku Pop-Location umístění můžete použít rutinu .

Ve výchozím nastavení rutina Push-Location odešle aktuální umístění do zásobníku aktuálního umístění, ale můžete použít parametr StackName k určení alternativního zásobníku 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 umístění změ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 umístění HKLM:\Software\Policies .

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

Rutiny Location můžete použít na libovolné jednotce PowerShellu (PSDrive).

Příklad 3

Tento příkaz vloží 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žívat zásobník pojmenovaného umístění.

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

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

Pokud stack2 ještě v relaci 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-LocationStackName by se umístění zobrazilo 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, že nemá interpretovat žádné znaky jako řídicí sekvence.

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

-PassThru

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

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

-Path

Změní umístění na umístění určené touto cestou poté, co přidá (vloží) aktuální umístění do horní části zásobníku. Zadejte cestu k libovolnému umístění, jehož poskytovatel tuto rutinu podporuje. Zástupné cardy jsou povolené. Název parametru je volitelný.

Type:String
Position:1
Default value:None
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 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.

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
Accept pipeline input:True
Accept wildcard characters:False

Vstupy

String

Řetězec, který obsahuje cestu (ale ne literálovou cestu), můžete směrovat do Push-Location.

Výstupy

None or System.Management.Automation.PathInfo

Při použití PassThru parametr vygeneruje Push-LocationSystem.Management.Automation.PathInfo objekt, který představuje umístění. Jinak tato rutina negeneruje žádný výstup.

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ář. 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 poslední příchozí seznam, ve kterém je přístupná jenom 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 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 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 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 Push-Location pomocí předdefinovaných aliasů pushd. Další informace najdete v tématu about_Aliases.

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