Megosztás a következőn keresztül:


Set-Location

Beállítja az aktuális munkahelyet egy megadott helyre.

Syntax

Path (Alapértelmezett)

Set-Location
    [[-Path] <String>]
    [-PassThru]
    [<CommonParameters>]

LiteralPath

Set-Location
    -LiteralPath <String>
    [-PassThru]
    [<CommonParameters>]

Stack

Set-Location
    [-PassThru]
    [-StackName <String>]
    [<CommonParameters>]

Description

A Set-Location parancsmag a munka helyét egy megadott helyre állítja be. 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 + a Elérési út paraméter értékeiként. A PowerShell megőrzi az elmúlt 20 hely előzményeit, amelyek - és +érhetőek el. 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 HKLM: meghajtó gyökerére állítja.

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 Env: meghajtó gyökerére állítja. A PassThru paraméterrel utasítja a PowerShellt egy PathInfo objektum visszaadására, 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 beállításjegyzék-szolgáltató HKLM: meghajtójának gyökerére állítja a helyet. A második parancs a C: meghajtó aktuális helyére állítja be a helyet a Fájlrendszer-szolgáltatóban. Ha a meghajtó neve meg van adva az űrlapon <DriveName>: (fordított perjel nélkül), a parancsmag beállítja a helyet a PSDrive aktuális helyére. A PSDrive aktuális helyének lekéréséhez használja Get-Location -PSDrive <DriveName> 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 helyvermekről további információt a Jegyzetcímű témakörben talál.

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:\>

Az alias, cd - vagy cd + használatával egyszerűen navigálhat a helyelőzményekben a terminálban. A -/+való navigálásról további információt a Elérési út paraméterben talál.

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 útvonal escape karaktereket tartalmaz, tedd azt egyes idézőjelek közé. Az egyes idézőjelek azt mondják a PowerShellnek, hogy egyetlen karaktert se értelmezzen escape szekvenciaként.

Paramétertulajdonságok

Típus:String
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False
Aliasok:PSPath, LP

Paraméterkészletek

LiteralPath
Position:Named
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False

-PassThru

Egy PathInfo objektumot ad vissza, amely a helyet jelöli. Ez a parancsmag alapértelmezés szerint nem hoz létre kimenetet.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:False
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-Path

Adja meg egy új munkahely elérési útját. Ha nincs megadva elérési út, Set-Location alapértelmezés szerint az aktuális felhasználó kezdőkönyvtára lesz. 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 a Elérési út paraméter értéke a - karakter, akkor az új munkahely lesz az előzmények korábbi munkahelye (ha létezik). Hasonlóképpen, ha az érték + karakter, akkor az új munkahely lesz a következő munkahely az előzményekben (ha létezik). Ez hasonló a Pop-Location és Push-Location használatához, 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.

Paramétertulajdonságok

Típus:String
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:True
DontShow:False

Paraméterkészletek

Path
Position:0
Kötelező:False
Folyamatból származó érték:True
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False

-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 jelöléséhez írja be a $null vagy egy üres sztringet ("").

A paraméter használata nem módosítja az aktuális helyet. Csak a *-Location parancsmagok által használt vermet módosítja. A *-Location parancsmagok az aktuális veremen működnek, hacsak nem használja a StackName paramétert egy másik verem megadásához. A helyveremekről további információt a Jegyzetekcímű témakörben talál.

Paramétertulajdonságok

Típus:String
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

Stack
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False

CommonParameters

Ez a parancsmag a következő gyakori paramétereket támogatja: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction és -WarningVariable. További információért lásd about_CommonParameters.

Bevitelek

String

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.

PathInfo

Ha a PassThru paramétert Path vagy LiteralPathhasználatával használja, ez a parancsmag egy PathInfo objektumot ad vissza, amely az új helyet jelöli.

PathInfoStack

Ha a PassThru paramétert használja StackName, ez a parancsmag egy PathInfoStack objektumot ad vissza, amely az új veremkörnyezetet jelöli.

Jegyzetek

A PowerShell a következő aliasokat tartalmazza Set-Location:

  • Minden platform:
    • cd
    • chdir
    • sl

A PowerShell folyamatonként több futtatóteret támogat. Minden futtatási környezetnek megvan a saját jelenlegi könyvtára. Ez nem ugyanaz, mint [System.Environment]::CurrentDirectory. 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 Get-PSProvider. További információért lásd a about_Providerscímű részt.

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 vermet.

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 Get-Location paraméterét. A helyek nevesített helyveremben való megjelenítéséhez használja a Get-Location paraméterét.

  • Új helyverem létrehozásához használja a Push-Location paraméterét. Ha nem létező vermet ad meg, Push-Location hozza létre a vermet.

  • A helyverem aktuális helyveremként való létrehozásához használja a Set-Location paraméterét.

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 vagy Pop-Location parancsmagokat az alapértelmezett verem elemeinek hozzáadásához vagy lekéréséhez, vagy a Get-Location parancsmag használatával megjelenítheti a névtelen veremben lévő helyeket. A névtelen verem aktuális veremként való létrehozásához használja a parancsmag Set-Location paraméterét $null értékkel vagy üres sztringgel ("").