Set-Location
Nastaví aktuální pracovní umístění na zadané umístění.
Syntaxe
Set-Location
[[-Path] <String>]
[-PassThru]
[-UseTransaction]
[<CommonParameters>]
Set-Location
-LiteralPath <String>
[-PassThru]
[-UseTransaction]
[<CommonParameters>]
Set-Location
[-PassThru]
[-StackName <String>]
[-UseTransaction]
[<CommonParameters>]
Description
Rutina Set-Location
nastaví pracovní umístění na zadané umístění. Toto umístění může být adresář, podadresář, umístění registru nebo jakákoli cesta zprostředkovatele.
Můžete také použít parametr StackName k vytvoření pojmenovaného zásobníku umístění jako aktuálního zásobníku umístění. Další informace o zásobníkech umístění najdete v poznámkách.
Příklady
Příklad 1: Nastavení aktuálního umístění
PS C:\> Set-Location -Path "HKLM:\"
PS HKLM:\>
Tento příkaz nastaví aktuální umístění na kořen jednotky HKLM:
.
Příklad 2: Nastavte aktuální umístění a zobrazte toto umístění.
PS C:\> Set-Location -Path "Env:\" -PassThru
Path
----
Env:\
PS Env:\>
Tento příkaz nastaví aktuální umístění na kořen jednotky Env:
. Pomocí parametru PassThru nasměruje PowerShell k vrácení objektu PathInfo, který představuje Env:\
umístění.
Příklad 3: Nastavení umístění na aktuální umístění na jednotce C:
PS C:\Windows\> Set-Location HKLM:\
PS HKLM:\> Set-Location C:
PS C:\Windows\>
První příkaz nastaví umístění na kořen jednotky HKLM:
ve zprostředkovateli registru.
Druhý příkaz nastaví umístění na aktuální umístění jednotky C:
ve zprostředkovateli FileSystem.
Pokud je název jednotky zadán ve formuláři <DriveName>:
(bez zpětného lomítka), rutina nastaví umístění na aktuální umístění v PSDrivu.
K získání aktuálního umístění na PSDrivu použijte příkaz Get-Location -PSDrive <DriveName>
.
Příklad 4: Nastavení aktuálního umístění na pojmenovaný zásobník
PS C:\> Push-Location -Path 'C:\Program Files\PowerShell\' -StackName "Paths"
PS C:\Program Files\PowerShell\> Set-Location -StackName "Paths"
PS C:\Program Files\PowerShell\> Get-Location -Stack
Path
----
C:\
První příkaz přidá aktuální umístění do zásobníku Cesty. Druhý příkaz vytvoří zásobník umístění Cesty jako aktuální zásobník umístění. Třetí příkaz zobrazí umístění v aktuálním zásobníku umístění.
Rutiny *-Location
používají aktuální zásobník umístění, pokud není v příkazu zadán jiný zásobník umístění. Informace o zásobníkech umístění najdete v Poznámky.
Parametry
-LiteralPath
Určuje cestu k umístění. Hodnota parametru LiteralPath se používá přesně při psaní. Žá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 |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-PassThru
Vrátí objekt PathInfo, který představuje umístění. 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
Zadejte cestu k novému pracovnímu umístění. Pokud není k dispozici žádná cesta, Set-Location
výchozí nastavení domovského adresáře aktuálního uživatele. Při použití zástupných znaků vybere rutina kontejner (adresář, klíč registru, úložiště certifikátů), který odpovídá vzoru se zástupným znakem. Pokud vzor zástupných znaků odpovídá více než jednomu kontejneru, vrátí rutina chybu.
Typ: | String |
Position: | 0 |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | True |
-StackName
Určuje existující název zásobníku umístění, ze kterého tato rutina vytvoří aktuální zásobník umístění. Zadejte název zásobníku umístění. Pokud chcete označit nepojmenovaný výchozí zásobník umístění, zadejte $null
nebo prázdný řetězec (""
).
Použití tohoto parametru nezmění aktuální umístění. Změní pouze zásobník používaný rutinami *-Location
. Rutiny *-Location
fungují s aktuálním zásobníkem, pokud nepoužíváte parametr StackName k určení jiného zásobníku. Další informace o zásobníkech umístění najdete v Poznámky.
Typ: | String |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-UseTransaction
Zahrnuje příkaz v aktivní transakci. Tento parametr je platný pouze v případě, že probíhá transakce. Další informace najdete v tématu about_Transactions.
Typ: | SwitchParameter |
Aliasy: | usetx |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
Vstupy
Řetězec, který obsahuje cestu, ale ne literálovou cestu, můžete do této rutiny převést.
Výstupy
None
Ve výchozím nastavení tato rutina nevrací žádný výstup.
Pokud použijete parametr PassThru s Path nebo LiteralPath, vrátí tato rutina objekt PathInfo představující nové umístění.
Při použití parametru PassThru s StackNamevrátí tato rutina objekt PathInfoStack představující nový kontext zásobníku.
Poznámky
Windows PowerShell obsahuje následující aliasy pro Set-Location
:
cd
chdir
sl
PowerShell podporuje více prostředí 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 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.
Rutina Set-Location
je navržená tak, aby fungovala s daty vystavenými jakýmkoli poskytovatelem. Pokud chcete zobrazit seznam poskytovatelů dostupných v relaci, zadejte Get-PSProvider
. Další informace naleznete v tématu about_Providers.
Zásobník je poslední první seznam, ve kterém lze 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ží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í. 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 ke změně aktuálního zásobníku umístění můžete použít rutinu Set-Location
.
Ke správě zásobníků umístění použijte rutiny *-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 StackNameGet-Location
.K vytvoření nového zásobníku umístění použijte parametr StackName
Push-Location
. Pokud zadáte zásobník, který neexistuje,Push-Location
zásobník vytvoří.Pokud chcete vytvořit zásobník umístění jako aktuální zásobník umístění, použijte parametr StackName
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 rutiny Push-Location
nebo Pop-Location
přidat nebo získat položky z výchozího zásobníku nebo pomocí rutiny Get-Location
zobrazit 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 Set-Location
s hodnotou $null
nebo prázdným řetězcem (""
).