Push-Location
Přidá aktuální umístění do horní části zásobníku umístění.
Syntaxe
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.
Typ: | String |
Aliasy: | PSPath, LP |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-PassThru
Předá objekt představující umístění kanálu. Ve výchozím nastavení tato rutina negeneruje žádný výstup.
Typ: | SwitchParameter |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | 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ý.
Typ: | String |
Position: | 1 |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | 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í.
Typ: | String |
Position: | Named |
Default value: | Default stack |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
Vstupy
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.
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-Location
Pop-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.