Set-Location
Nastaví aktuální pracovní umístění na zadané umístění.
Syntax
Path (Výchozí)
Set-Location
[[-Path] <String>]
[-PassThru]
[<CommonParameters>]
LiteralPath
Set-Location
-LiteralPath <String>
[-PassThru]
[<CommonParameters>]
Stack
Set-Location
[-PassThru]
[-StackName <String>]
[<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.
PowerShell 6.2 přidal podporu pro - a + jako hodnoty pro parametr Path. PowerShell udržuje historii posledních 20 umístění, ke kterým je možné přistupovat pomocí - a +. Tento seznam je nezávislý na zásobníku umístění, ke kterému se přistupuje pomocí parametru StackName.
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.
Příklad 5: Navigace v historii umístění pomocí +nebo -
PS C:\> Set-Location -Path $env:SystemRoot
PS C:\Windows> Set-Location -Path Cert:\
PS Cert:\> Set-Location -Path HKLM:\
PS HKLM:\>
# Navigate back through the history using "-"
PS HKLM:\> Set-Location -Path -
PS Cert:\> Set-Location -Path -
PS C:\Windows>
# Navigate using the Set-Location alias "cd" and the implicit positional Path parameter
PS C:\Windows> cd -
PS C:\> cd +
PS C:\Windows> cd +
PS Cert:\>
Pomocí aliasu cd - nebo cd + můžete snadno procházet historii polohy v terminálu. Další informace o navigaci pomocí -/+najdete v parametru Path.
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 únikové znaky, uzavřete ji do jednoduchých uvozovek. Jednoduché uvozovky říkají PowerShellu, aby žádné znaky neinterpretoval jako únikové sekvence.
Vlastnosti parametru
| Typ: | String |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
| Aliasy: | PSPath, PO |
Sady parametrů
LiteralPath
| Position: | Named |
| Povinné: | True |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
-PassThru
Vrátí objekt PathInfo, který představuje umístění. Ve výchozím nastavení tato rutina negeneruje žádný výstup.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | False |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | 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.
PowerShell uchovává historii posledních 20 umístění, která jste nastavili. Pokud je hodnota parametru Path znakem -, bude nové pracovní umístění předchozí pracovní umístění v historii (pokud existuje). Podobně platí, že pokud je hodnota znakem +, bude nové pracovní umístění dalším pracovním umístěním v historii (pokud existuje). Podobá se použití Pop-Location a Push-Location s tím rozdílem, že historie je seznam, nikoli zásobník a implicitně sledován, nikoli ručně řízený. Seznam historie se nedá zobrazit.
Vlastnosti parametru
| Typ: | String |
| Default value: | None |
| Podporuje zástupné znaky: | True |
| DontShow: | False |
Sady parametrů
Path
| Position: | 0 |
| Povinné: | False |
| Hodnota z kanálu: | True |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
-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.
Vlastnosti parametru
| Typ: | String |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
Stack
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
CommonParameters
Tato rutina podporuje běžné parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction a -WarningVariable. Další informace najdete v about_CommonParameters.
Vstupy
String
Můžete předat řetězec, který obsahuje cestu, ale ne doslovnou cestu, do tohoto příkazu.
Výstupy
None
Ve výchozím nastavení tato rutina nevrací žádný výstup.
PathInfo
Pokud použijete parametr PassThru s Path nebo LiteralPath, vrátí tato rutina objekt PathInfo představující nové umístění.
PathInfoStack
Při použití parametru PassThru s StackNamevrátí tato rutina objekt PathInfoStack představující nový kontext zásobníku.
Poznámky
PowerShell obsahuje následující aliasy pro Set-Location:
- Všechny platformy:
cdchdirsl
PowerShell podporuje více běžících prostorů 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. Chcete-li zobrazit seznam poskytovatelů dostupných ve vaší relaci, napište Get-PSProvider. Pro více informací viz 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-Locationzá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 ("").