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ář. To není totéž 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 teď vaše aktuální umístění jednotkou registru, můžete k položkám v adresáři C:\Windows přistupovat pomocí jednotky C:, 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 je Windows 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 můžete pomocí příkazu Get-Location určit aktuální pracovní umístění a pomocí příkazu Set-Location nastavit aktuální pracovní umístění. Například následující příkaz nastaví aktuální pracovní umístění na Windows adresář jednotky C::

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 Software HKEY_LOCAL_MACHINE 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 podadresář System v aktuálním pracovním umístění:

Get-ChildItem .\System

Pokud je aktuální pracovní umístění C:\Windows, 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 adresáři C:\Program Files.

Cesta začínající zpětným lomítkem (\) identifikuje cestu z kořenového adresáře aktuální jednotky. Pokud je například vaše 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 adresáři C:\Windows:

Get-ChildItem \Windows

Pokud nezadáte cestu začínající názvem jednotky, zpětné lomítko (\) nebo tečka (.) 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 například vaše aktuální pracovní umístění C:\Windows, vrátí následující příkaz všechny položky v adresáři C:\Windows\System:

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é