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


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

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 a Path vagy a LiteralPath használatával használja, ez a parancsmag egy PathInfo objektumot ad vissza, amely az új helyet jelöli.

PathInfoStack

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

  • 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]::CurrentDirectorya . 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.