Set-Location
Beállítja az aktuális munkahelyet egy megadott helyre.
Syntax
Set-Location
[[-Path] <String>]
[-PassThru]
[<CommonParameters>]
Set-Location
-LiteralPath <String>
[-PassThru]
[<CommonParameters>]
Set-Location
[-PassThru]
[-StackName <String>]
[<CommonParameters>]
Description
A Set-Location
parancsmag egy megadott helyre állítja be a munkaterületet. Ez a hely lehet könyvtár, alkönyvtár, beállításjegyzék-hely vagy bármely szolgáltatói elérési út.
A PowerShell 6.2 támogatja -
és +
értékként támogatja az Elérési út paramétert. A PowerShell az utolsó 20 olyan hely előzményeit őrzi meg, amelyekkel elérhető -
és +
. Ez a lista független attól a helyveremtől, amely a StackName paraméterrel érhető el.
Példák
1. példa: Az aktuális hely beállítása
PS C:\> Set-Location -Path "HKLM:\"
PS HKLM:\>
Ez a parancs az aktuális helyet a meghajtó gyökerére állítja HKLM:
.
2. példa: Az aktuális hely beállítása és a hely megjelenítése
PS C:\> Set-Location -Path "Env:\" -PassThru
Path
----
Env:\
PS Env:\>
Ez a parancs az aktuális helyet a meghajtó gyökerére állítja Env:
. A PassThru paraméterrel utasítja a PowerShellt, hogy visszaadjon egy PathInfo objektumot, amely a Env:\
helyet jelöli.
3. példa: A hely beállítása a C: meghajtó aktuális helyére
PS C:\Windows\> Set-Location HKLM:\
PS HKLM:\> Set-Location C:
PS C:\Windows\>
Az első parancs a helyet a beállításjegyzék-szolgáltató meghajtójának gyökerére HKLM:
állítja.
A második parancs beállítja a helyet a meghajtó aktuális helyére C:
a FileSystem szolgáltatóban.
Ha a meghajtó neve meg van adva az űrlapon <DriveName>:
(fordított perjel nélkül), a parancsmag a HELYET a PSDrive aktuális helyére állítja.
A PSDrive aktuális helyének lekéréséhez használja Get-Location -PSDrive <DriveName>
a parancsot.
4. példa: Az aktuális hely beállítása névvel ellátott veremre
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:\
Az első parancs hozzáadja az aktuális helyet az Elérési utak veremhez. A második parancs az elérési utak helyét az aktuális hely veremként állítja össze. A harmadik parancs megjeleníti az aktuális hely veremben lévő helyeket.
A *-Location
parancsmagok az aktuális hely vermet használják, kivéve, ha a parancs egy másik helyvermet ad meg. A helyveremekkel kapcsolatos további információkért tekintse meg a Jegyzeteket.
5. példa: Navigálás a helyelőzményekben a "+" vagy a "-" használatával
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:\>
Használja az aliast, cd -
vagy cd +
egyszerűen navigálhat a helyelőzmények között a terminálban. A navigálással -
/+
kapcsolatos további információkért tekintse meg az Elérési út paramétert.
Paraméterek
-LiteralPath
Megadja a hely elérési útját. A LiteralPath paraméter értéke pontosan a beíráskor lesz használva. A rendszer egyetlen karaktert sem értelmez helyettesítő karakterként. Ha az elérési út tartalmaz escape karaktereket, csatolja egy idézőjelek közé. Az idézőjelek azt mondják a PowerShellnek, hogy ne értelmezzen karaktereket feloldósorozatként.
Típus: | String |
Aliasok: | PSPath, LP |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | True |
Folyamatbemenet elfogadása: | True |
Helyettesítő karakterek elfogadása: | False |
-PassThru
Egy PathInfo objektumot ad vissza, amely a helyet jelöli. Ez a parancsmag alapértelmezés szerint nem hoz létre kimenetet.
Típus: | SwitchParameter |
Position: | Named |
Alapértelmezett érték: | False |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-Path
Adja meg egy új munkahely elérési útját. Ha nincs megadva elérési út, Set-Location
az alapértelmezett érték az aktuális felhasználó kezdőkönyvtára. Helyettesítő karakterek használata esetén a parancsmag kiválasztja azt a tárolót (könyvtár, beállításkulcs, tanúsítványtároló), amely megfelel a helyettesítő karakterek mintájának. Ha a helyettesítő karakterminta egynél több tárolónak felel meg, a parancsmag hibát ad vissza.
A PowerShell megőrzi az elmúlt 20 beállított hely előzményeit. Ha az Elérési út paraméter értéke a -
karakter, akkor az új munkahely lesz az előző munkahely az előzményekben (ha létezik). Hasonlóképpen, ha az érték a +
karakter, akkor az új munkahely lesz a következő munkahely az előzményekben (ha létezik). Ez hasonló a használathoz Pop-Location
, és Push-Location
azzal a kivétellel, hogy az előzmény egy lista, nem egy verem, és implicit módon van nyomon követve, nem manuálisan vezérelve. Az előzmények listáját nem lehet megtekinteni.
Típus: | String |
Position: | 0 |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | True |
Helyettesítő karakterek elfogadása: | True |
-StackName
Egy meglévő hely veremnevet ad meg, amelyet ez a parancsmag az aktuális hely vermet hoz létre. Adjon meg egy helyveremnevet. A névtelen alapértelmezett hely veremének jelzéséhez írjon be vagy írjon $null
be egy üres sztringet (""
).
A paraméter használata nem módosítja az aktuális helyet. Csak a parancsmagok által *-Location
használt vermet módosítja. A *-Location
parancsmagok csak akkor működnek az aktuális veremen, ha a StackName paraméterrel nem ad meg másik vermet. A helyveremekkel kapcsolatos további információkért tekintse meg a Jegyzeteket.
Típus: | String |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | True |
Helyettesítő karakterek elfogadása: | False |
Bevitelek
Ehhez a parancsmaghoz egy elérési utat tartalmazó, de nem literális elérési utat tartalmazó sztringet csövezhet.
Kimenetek
None
Ez a parancsmag alapértelmezés szerint nem ad vissza kimenetet.
Ha a PassThru paramétert a Path vagy a LiteralPath használatával használja, ez a parancsmag egy PathInfo objektumot ad vissza, amely az új helyet jelöli.
Amikor a PassThru paramétert a StackName használatával használja, ez a parancsmag egy PathInfoStack objektumot ad vissza, amely az új veremkörnyezetet jelöli.
Jegyzetek
A PowerShell a következő aliasokat Set-Location
tartalmazza:
- Minden platform:
cd
chdir
sl
A PowerShell folyamatonként több futtatóteret támogat. Minden runspace saját aktuális könyvtárral rendelkezik.
Ez nem ugyanaz, mint [System.Environment]::CurrentDirectory
a . Ez a viselkedés akkor lehet probléma, ha .NET API-kat hív meg, vagy natív alkalmazásokat futtat explicit címtárelérési útvonalak megadása nélkül.
Még ha a helyparancsmagok beállították is a folyamatszintű aktuális könyvtárat, nem függhet attól, mert egy másik futtatótér bármikor módosíthatja. A hely parancsmagjaival útvonalalapú műveleteket kell végrehajtania az aktuális futtatótérre jellemző aktuális munkakönyvtár használatával.
A Set-Location
parancsmag úgy lett kialakítva, hogy bármely szolgáltató által közzétett adatokkal működjön együtt. A munkamenetben elérhető szolgáltatók listájához írja be a következőt Get-PSProvider
: További információ: about_Providers.
A verem egy utolsó előtti lista, amelyben csak a legutóbb hozzáadott elem érhető el. Elemeket ad hozzá egy veremhez a használt sorrendben, majd lekéri őket fordított sorrendben való használatra. A PowerShell lehetővé teszi a szolgáltatói helyek helyvermekben való tárolását. A PowerShell létrehoz egy névtelen alapértelmezett helyvermet. Több elnevezett helyvermet is létrehozhat. Ha nem ad meg veremnevet, a PowerShell az aktuális hely vermet használja. Alapértelmezés szerint a névtelen alapértelmezett hely az aktuális hely verem, de a Set-Location
parancsmaggal módosíthatja az aktuális hely veremét.
A helyveremek kezeléséhez használja a *-Location
parancsmagokat az alábbiak szerint:
Ha helyet szeretne hozzáadni egy helyveremhez, használja a
Push-Location
parancsmagot.Ha helyet szeretne lekérni egy helyveremből, használja a
Pop-Location
parancsmagot.Az aktuális helyverem helyeinek megjelenítéséhez használja a parancsmag Stack paraméterét
Get-Location
. A helyek nevesített helyveremben való megjelenítéséhez használja a/> StackName paraméterét Get-Location
.Új helyverem létrehozásához használja a StackName paramétert
Push-Location
. Ha olyan vermet ad meg, amely nem létezik,Push-Location
létrehozza a vermet.Ha egy helyvermet az aktuális hely veremként szeretne létrehozni, használja a
/> StackName paraméterét Set-Location
.
A névtelen alapértelmezett helyverem csak akkor érhető el teljes mértékben, ha az aktuális hely verem.
Ha egy elnevezett hely vermet hoz létre az aktuális hely veremként, a továbbiakban nem használhatja a Push-Location
Pop-Location
parancsmagokat az alapértelmezett verem elemeinek hozzáadására vagy lekérésére, vagy a Get-Location
parancsmag használatával megjelenítheti a helyeket a névtelen veremben. A névtelen verem aktuális veremként való létrehozásához használja a Set-Location
parancsmag StackName paraméterét $null
egy üres sztring (""
) értékével.