Sdílet prostřednictvím


about_Locations

Krátký popis

Popisuje, jak získat přístup k položkám z pracovního umístění v PowerShellu.

Dlouhý popis

Aktuální pracovní umístění je výchozím umístěním, na které příkazy odkazují. Jinými slovy, toto je umístění, které PowerShell používá, pokud nezadáte explicitní cestu k položce nebo umístění, které je ovlivněno příkazem.

Poznámka:

PowerShell podporuje více prostředí runspace na proces. Každý runspace má svůj vlastní aktuální adresář. Nejedná se o stejný adresář jako aktuální adresář procesu PowerShellu: [System.Environment]::CurrentDirectory.

Můžete například nastavit aktuální pracovní umístění na následující umístění:

Set-Location C:\Program Files\PowerShell

V důsledku toho se všechny příkazy zpracovávají z tohoto umístění, pokud není explicitně poskytnuta jiná cesta.

PowerShell udržuje aktuální pracovní umístění pro každou jednotku, i když jednotka není aktuální jednotkou. To umožňuje přístup k položkám z aktuálního pracovního umístění odkazem pouze na jednotku jiného umístění. Předpokládejme například, že vaše aktuální pracovní umístění je C:\Windows. Předpokládejme, že teď pomocí následujícího příkazu změníte aktuální pracovní umístění na jednotku HKLM: :

Set-Location HKLM:

I když je vaše aktuální umístění teď jednotkou registru, můžete k položkám v C:\Windows adresáři přistupovat pomocí C: jednotky, jak je znázorněno v následujícím příkladu:

Get-ChildItem C:

PowerShell si pamatuje, že vaše aktuální pracovní umístění pro danou jednotku Windows je adresář, takže načte položky z daného adresáře. Výsledky by byly stejné, kdybyste spustili následující příkaz:

Get-ChildItem C:\Windows

V PowerShellu Get-Location můžete pomocí příkazu určit aktuální pracovní umístění a pomocí Set-Location příkazu nastavit aktuální pracovní umístění. Například následující příkaz nastaví aktuální pracovní umístění do Windows adresáře C: jednotky:

Set-Location C:\Windows

Po nastavení aktuálního pracovního umístění můžete k položkám z jiných jednotek přistupovat tak, že do příkazu zahrnete název jednotky (následovaný dvojtečku), jak je znázorněno v následujícím příkladu:

Get-ChildItem HKLM:\software

Ukázkový příkaz načte seznam položek v kontejneru HKEY_LOCAL_MACHINE Software podregistru v registru.

PowerShell také umožňuje použít speciální znaky, které představují aktuální pracovní umístění a jeho nadřazené umístění. Chcete-li reprezentovat aktuální pracovní umístění, použijte jedno období. Chcete-li reprezentovat nadřazenou položku aktuální pracovní polohy, použijte dvě tečky. Například následující určuje System podadresář v aktuálním pracovním umístění:

Get-ChildItem .\System

Pokud je C:\Windowsaktuální pracovní umístění , tento příkaz vrátí seznam všech položek v C:\Windows\System. Pokud však použijete dvě tečky, použije se nadřazený adresář aktuálního pracovního adresáře, jak je znázorněno v následujícím příkladu:

Get-ChildItem ..\"Program Files"

V tomto případě PowerShell zachází se dvěma tečkami jako s jednotkou C: a příkaz načte všechny položky v C:\Program Files adresáři.

Cesta začínající zpětným lomítkem (\) identifikuje cestu z kořenového adresáře aktuální jednotky. Pokud je například aktuální pracovní umístění C:\Program Files\PowerShell, kořen jednotky je C:\. Proto následující příkaz vypíše všechny položky v C:\Windows adresáři:

Get-ChildItem \Windows

Pokud nezadáte cestu začínající názvem jednotky, zpětným lomítkem (\) nebo tečkou (.) při zadávání názvu kontejneru nebo položky, předpokládá se, že se kontejner nebo položka nacházejí v aktuálním pracovním umístění. Pokud je C:\Windowsnapříklad vaše aktuální pracovní umístění, vrátí následující příkaz všechny položky v C:\Windows\System adresáři:

Get-ChildItem System

Pokud místo názvu adresáře zadáte název souboru, PowerShell vrátí podrobnosti o daném souboru (za předpokladu, že se soubor nachází v aktuálním pracovním umístění).

Viz také