Správa aktuálního umístění

  • 06/05/2017
  • 4 minuty čtení
    • j
    • s
    • m

Při procházení systémů složek v Průzkumníku souborů, máte obvykle k dispozici konkrétní pracovní umístění – konkrétně aktuální otevřenou složku. S položkami v aktuální složce lze snadno manipulovat kliknutím na ně. U rozhraní příkazového řádku, jako je například Cmd.exe, pokud se nacházíte ve stejné složce jako určitý soubor, můžete k němu přistupovat zadáním relativně krátkého názvu, místo abyste museli zadávat celou cestu k souboru. Aktuální adresář se nazývá pracovní adresář.

Prostředí Windows PowerShell používá pro označení pracovního adresáře podstatné jméno umístění a implementuje rodinu rutin pro zkoumání umístění a manipulaci s ním.

Získání aktuálního umístění (Get-Location)

Pro zjištění cesty k umístění vašeho aktuálního adresáře zadejte příkaz Get-Location:

PS> Get-LocationPath----C:\Documents and Settings\PowerUser

Poznámka

Komplementace Get-Location je podobná příkazu pwd v prostředí BASH. Rutina Set-Location je podobná příkazu cd v příkazovém řádku Cmd.exe.

Nastavení aktuálního umístění (Set-Location)

Příkaz Get-Location se používá s příkazem Set-Location. Příkaz Set-Location umožňuje zadat aktuální umístění adresáře.

Set-Location -Path C:\Windows

Po zadání příkazu si všimněte, že neobdržíte žádnou přímou zpětnou vazbu o účinku příkazu. Většina příkazů prostředí Windows PowerShell, které provádějí nějakou akci, vytváří jen malý nebo žádný výstup, protože výstup není vždy užitečný. Chcete-li po zadání příkazu Set-Location ověřit, zda došlo k úspěšné změně adresáře, uveďte při zadávání příkazu Set-Location parametr -PassThru:

PS> Set-Location -Path C:\Windows -PassThruPath----C:\WINDOWS

Parametr -PassThru lze použít u mnoha příkazů Set v prostředí Windows PowerShell k vrácení informací o výsledku v případech, kdy není k dispozici žádný výchozí výstup.

Cesty můžete zadat relativně k aktuálnímu umístění stejným způsobem jako ve většině příkazových shellů UNIX a Windows. Ve standardním zápisu relativních cest představuje tečka (.)aktuální složku a zdvojená tečka (..) nadřazený adresář aktuálního umístění.

Pokud jste například ve složce C:\Windows, tečka (.)představuje C:\Windows a zdvojená tečka (..) C:. Z aktuálního umístění můžete přejít do kořenového adresáře jednotky C: zadáním:

PS> Set-Location -Path .. -PassThruPath----C:\

Stejná technika funguje i na jednotkách systému Windows PowerShell, které nejsou jednotkami souborového systému, například HKLM:. Umístění můžete nastavit na klíč HKLM\Software v registru zadáním:

PS> Set-Location -Path HKLM:\SOFTWARE -PassThruPath----HKLM:\SOFTWARE

Umístění adresáře pak můžete změnit na nadřazený adresář, kterým je kořenový adresář jednotky HKLM: prostředí Windows PowerShell, pomocí relativní cesty:

PS> Set-Location -Path .. -PassThruPath----HKLM:\

Můžete zadat Set-Location nebo použít některý ze zabudovaných aliasů prostředí Windows PowerShell pro Set-Location (cd, chdir, sl). Například:

cd -Path C:\Windows
chdir -Path .. -PassThru
sl -Path HKLM:\SOFTWARE -PassThru

Uložení a vyvolání posledních umístění (Push-Location a Pop-Location)

Při změně umístění je užitečné mít přehled o tom, kde jste byli, a mít možnost vrátit se na předchozí umístění. Rutina Push-Location v prostředí Windows PowerShell vytvoří uspořádanou historii („zásobník“) adresářových cest, kde jste byli, a pomocí doplňkové rutiny Pop-Location se můžete v historii adresářových cest vrátit zpět.

Příklad prostředí Windows PowerShell obvykle začíná v domovském adresáři uživatele.

PS> Get-LocationPath----C:\Documents and Settings\PowerUser

Poznámka

Slovo zásobník má v mnoha programovacích prostředích včetně prostředí .NET Framework zvláštní význam. Stejně jako u fyzického stohu předmětů platí, že poslední položka, kterou na stoh vložíte, je první položkou, kterou můžete ze stohu vyjmout. Přidání položky do zásobníku se hovorově nazývá „posunutí“ položky na zásobník. Vytažení položky z hromádky se hovorově nazývá „vyskočení“ položky z hromádky.

Chcete-li aktuální umístění přesunout na zásobník a poté se přesunout do složky Místní nastavení, zadejte:

Push-Location -Path "Local Settings"

Místní nastavení pak můžete přesunout na zásobník a přesunout se do složky Temp zadáním:

Push-Location -Path Temp

Změnu adresářů můžete ověřit zadáním příkazu Get-Location:

PS> Get-LocationPath----C:\Documents and Settings\PowerUser\Local Settings\Temp

Zadáním příkazu Pop-Location se můžete vrátit do naposledy navštíveného adresáře a ověřit změnu zadáním příkazu Get-Location:

PS> Pop-LocationPS> Get-LocationPath----C:\Documents and Settings\me\Local Settings

Stejně jako u rutiny Set-Location můžete při zadávání rutiny Pop-Location zahrnout parametr -PassThru, aby se zobrazil zadaný adresář:

PS> Pop-Location -PassThruPath----C:\Documents and Settings\PowerUser

Rutiny Location můžete používat také se síťovými cestami. Pokud máte server s názvem FS01 se sdílenou složkou s názvem Public, můžete změnit umístění zadáním příkazu

Set-Location \FS01\Public

nebo

Push-Location \FS01\Public

Příkazy Push-Location a Set-Location můžete změnit umístění na libovolnou dostupnou jednotku. Například pokud máte místní jednotku CD-ROM s písmenem jednotky D, která obsahuje datové CD, můžete změnit umístění na jednotku CD zadáním příkazu Set-Location D:.

Pokud je jednotka prázdná, zobrazí se následující chybové hlášení:

PS> Set-Location D:Set-Location : Cannot find path 'D:\' because it does not exist.

Při použití rozhraní příkazového řádku není vhodné používat Průzkumníka souborů k prozkoumání dostupných fyzických jednotek. Průzkumník souborů by také nezobrazoval všechny jednotky prostředí Windows PowerShell. Prostředí Windows PowerShell poskytuje sadu příkazů pro manipulaci s jednotkami systému Windows PowerShell a my si o nich povíme příště.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.