Az aktuális hely kezelése

  • 06/05/2017
  • 4 minutes to read
    • j
    • s
    • m

A mapparendszerek navigálása a File Explorerben, általában van egy meghatározott munkapontunk – nevezetesen az aktuálisan megnyitott mappa. Az aktuális mappában lévő elemek könnyen manipulálhatók, ha rákattintunk. Az olyan parancssori felületek esetében, mint a Cmd.exe, ha egy adott fájllal azonos mappában tartózkodik, akkor egy viszonylag rövid név megadásával érheti el azt, ahelyett, hogy a fájl teljes elérési útvonalát meg kellene adnia. Az aktuális könyvtárat munkakönyvtárnak nevezzük.

A Windows PowerShell a Location főnevet használja a munkakönyvtárra való hivatkozásra, és egy cmdlet-családot valósít meg a hely vizsgálatára és manipulálására.

A jelenlegi hely megkeresése (Get-Location)

Az aktuális könyvtár helyének elérési útvonalának meghatározásához adja meg a Get-Location parancsot:

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

Megjegyzés

A Get-Location cmdlet hasonló a BASH shell pwd parancsához. A Set-Location cmdlet a Cmd.exe program cd parancsához hasonlít.

A jelenlegi hely beállítása (Set-Location)

A Get-Location parancs a Set-Location paranccsal együtt használható. A Set-Location paranccsal megadhatja az aktuális könyvtár helyét.

Set-Location -Path C:\Windows

A parancs beírása után észreveheti, hogy nem kap közvetlen visszajelzést a parancs hatásáról. A legtöbb Windows PowerShell parancs, amely műveletet hajt végre, kevés vagy semmilyen kimenetet nem ad, mivel a kimenet nem mindig hasznos. Annak ellenőrzéséhez, hogy a Set-Location parancs megadásakor sikeres könyvtárváltás történt-e, a Set-Location parancs megadásakor adja meg a -PassThru paramétert:

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

A -PassThru paraméter a Windows PowerShell számos Set parancsánál használható az eredményre vonatkozó információk visszaadására olyan esetekben, amikor nincs alapértelmezett kimenet.

A jelenlegi helyhez viszonyított elérési utakat ugyanúgy megadhatja, mint a legtöbb UNIX és Windows parancsoshéjban. A relatív elérési utak szabványos jelölésében a pont (.)az aktuális mappát, a dupla pont (..) pedig az aktuális hely szülő könyvtárát jelenti.

Ha például a C:\Windows mappában van, a pont (.)a C:\Windows, a dupla pont (..) pedig a C: mappát jelenti. Az aktuális helyről a C: meghajtó gyökerére a következő beírással válthat:

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

Ugyanez a technika működik a Windows PowerShell olyan meghajtókon is, amelyek nem fájlrendszer-meghajtók, például a HKLM:. Beállíthatja a helyét a HKLM\Software kulcsra a rendszerleíró adatbázisban:

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

Ezután relatív elérési út használatával módosíthatja a könyvtár helyét a szülő könyvtárra, amely a Windows PowerShell HKLM: meghajtójának gyökere:

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

A Set-Location beírásával vagy a Set-Location beépített Windows PowerShell aliasainak bármelyikével (cd, chdir, sl). Például:

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

A legutóbbi helyek mentése és visszahívása (Push-Location és Pop-Location)

Helyszínváltáskor hasznos, ha nyomon követjük, hol jártunk, és vissza tudunk térni az előző helyre. A Windows PowerShell Push-Location cmdletje egy rendezett előzményt (“verem”) hoz létre azokról a könyvtárak elérési útvonalairól, ahol már jártunk, és a kiegészítő Pop-Location cmdlet használatával visszaléphetünk a könyvtárak elérési útvonalainak előzményei között.

A Windows PowerShell például általában a felhasználó otthoni könyvtárában indul.

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

Megjegyzés

A verem szónak speciális jelentése van számos programozási beállításban, beleértve a .NET Framework-et is. Mint egy fizikai tárgyakból álló veremnél, a veremre utoljára felrakott elem az első elem, amelyet le lehet húzni a veremről. Egy elemnek a veremhez való hozzáadását a köznyelv úgy nevezi, hogy az elemet a veremre “tolja”. Egy elemet a veremről való lehúzása a köznyelvben az elemnek a veremről való “leemelésének” nevezik.

Az aktuális helyet a veremre tolni, majd a Helyi beállítások mappába lépni a:

Push-Location -Path "Local Settings"

A Helyi beállítások helyét a veremre tolni, majd a Temp mappába lépni a:

Push-Location -Path Temp

beírásával lehet ellenőrizni, hogy könyvtárat váltott-e a Get-Location parancs megadásával:

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

Ezután a Pop-Location parancs beírásával visszaléphet a legutóbb meglátogatott könyvtárba, és a Get-Location parancs beírásával ellenőrizheti a változást:

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

A Set-Location cmdlethez hasonlóan a Pop-Location cmdlet beírásakor a -PassThru paramétert is megadhatja a beírt könyvtár megjelenítéséhez:

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

A Location cmdleteket hálózati elérési utakkal is használhatja. Ha van egy FS01 nevű kiszolgálója egy Public nevű megosztással, akkor a

Set-Location \FS01\Public

vagy

Push-Location \FS01\Public

beírásával módosíthatja a helyet, és a Push-Location és a Set-Location parancsokkal bármelyik elérhető meghajtóra módosíthatja a helyet. Ha például van egy helyi CD-ROM-meghajtó D meghajtóbetűvel, amely egy adat-CD-t tartalmaz, akkor a Set-Location D: parancs beírásával módosíthatja a helyet a CD-meghajtóra.

Ha a meghajtó üres, akkor a következő hibaüzenetet kapja:

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

A parancssori felület használatakor nem kényelmes a File Explorer segítségével megvizsgálni a rendelkezésre álló fizikai meghajtókat. Emellett a File Explorer nem mutatná meg a Windows PowerShell összes meghajtóját. A Windows PowerShell egy sor parancsot biztosít a Windows PowerShell meghajtók manipulálására, ezekről a következőkben lesz szó.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.