Windows környezeti változók

Ha még nem hallottál a környezeti változókról, vagy esetleg hallottál róluk de nem tudod, mik azok, vagy ha bármilyen szinten is érdekel a parancssor vagy a batch fájlok, akkor ezt a cikket ajánlom figyelmedbe!

Mik azok a környezeti változók?

Ez még a DOS időkből származó funkció, ami azonban a mai napig része az operációs rendszernek. A környezeti változók olyan név-érték párosok, melyek a gépünk minden indításakor, minden egyes parancssori ablakban elérhetőek, lekérdezhetőek és valamilyen információt tartalmaznak a rendszer állapotára nézve. Hogy mit is jelent ez magyarul? Talán pár példán át egyszerűbb lesz!

Példa

Indítsunk el egy parancssort és ott adjuk meg pl. a következő parancsot!

echo Windows mappa: %WINDIR%

Valami ilyesmit kell hogy kapjunk:



Na mit is csináltunk?

A parancsról már meséltem a batch fájlokról szóló bejegyzésben, de mi is volt az a %WINDIR%? Bizony, az egyik környezeti változó. Ezeket két százalékjel között egy azonosítóval lehet meghivatkozni, ahogy most is tettük. A Windows ezeknek az értékét minden indulásnál beállítja egy alapértékre, nekünk ehhez semmit sem kell tennünk, és utána használhatjuk őket.

Környezeti változók a grafikus felületen

Navigáljunk el ide hogy megtekinthessük a környezeti változókat: Számítógép / Sajátgép ikonra jobb klikk -> Tulajdonságok -> Speciális fül -> Környezeti változók gomb

Valami ilyesmit kell látnunk:



Itt hozzá is adhatunk saját környezeti változókat, amiket aztán használhatunk a saját batch fájlainkban is vagy egyéb scriptünkben ill. programjainkban.

Figyelem! Semmiképp se töröljünk olyan környezeti változót, amely a listában szerepel de nem mi hoztuk létre vagy nem tudjuk mire is való, különös tekintettel a path, pathext, temp, tmp, windir nevű környezeti változókra!


Környezeti változók parancssorban

Mi sem egyszerűbb, futtassuk a set parancsot!



Egy szép hosszú listát kapunk, mely tartalmaz minden környezeti változót. Magunk is állíthatunk be egyet, szintén a set parancs segítségével. Írjuk be hogy

set KOSZONES=Szia, %USERNAME%
echo %KOSZONES%

A set beállítja a KOSZONES nevű változót a tőle jobbra levő értékre, ami itt egy köszönés lesz. A %USERNAME% maga is egy környezeti változó, amiben az aktuális felhasználó neve van. A szöveget simán folytatólagosan írhatjuk, a rendszer behelyettesíti a változók értékét és összefűzi a szöveget.
Így a kapott üzenet az lesz az én esetemben hogy "Szia, Istvan":



Ha szeretnénk pl. egy összeadás vagy más aritmetikai művelet eredményét elmenteni egy változóba, akkor használjuk a /a kapcsolót, pl.:

set /a OSSZEG=5+6+11*2


Változó lekérdezése
set OSSZEG
33

Változó törlése
set OSSZEG=

Egyéb, nem dokumentált változók megjelenítése
set "

Változó végleges beállítása
Ezek a változások nem maradandóak, csak az aktuális parancssor ablakban élnek. Ha szeretnénk tartósan frissíteni ill. hozzáadni a rendszerhez egy környezeti változót, használjuk a set helyett a setx parancsot.

Ismertebb környezeti változók

PATH: tartalmazza aznak a könyvtáraknak a listáját, ahol a Windows egy parancs kiadása után keresni fogja az adott állományt. Például, ha a path változónak része a c:\Istvan mappa, és abban van egy program prog.exe néven, akkor bármelyik könyvtárban írjuk be hogy prog.exe, a Windows meg fogja találni a programot. Mi van, ha több helyen is megtalálható? Nos, ne próbáljuk ki, mert ilyenkor nem garantált, melyik fog elindulni.

A különböző könyvtárakat pontosvesszőval választjuk el egymástól, tehát ha szeretnénk hozzáfűzni valamit pl. a C:\Istvan könyvtárat, akkor így tehetjük meg:

set PATH=%PATH%;C:\Istvan

Figyelem! Ha a hozzáadás helyett beállítást csinálunk, tehát lefelejtjük a %PATH% részt a műveletből, akkor felülírást fogunk végrehajtani ami megbolondíthatja a többi alkalmazást szóval bánjunk ezzel nagyon óvatosan!

SYSTEMDRIVE: tartalmazza a meghajtót amelyen a Windows is van, pl.
C:\

USERNAME: az aktuális felhasználó nevét tartalmazza, az én esetemben pl.:
Istvan.

USERPROFILE: az aktuális felhasználó saját könyvtárának teljes elérési útja, pl.:
C:\Users\Istvan

TEMP és TMP: ideiglenes könyvtár teljes elérési útja, mely fájlok ideiglenes tárolására való (pl. ide csomagolhatnak ki a telepítők). Mivel a teljes útvonalat tartalmazza, nem kell hozzáfűzni meghajtóbetűjelet sem egyebet. Kompatibilitási okokból két néven is megtalálhatjuk (némely alkalmazás a TMP-t kereste, a másik a TEMP-et, szóval jó ideje beállítódik mindkettő), pl.:
C:\Users\Istvan\AppData\Local\Temp

WINDIR: a könyvtár amelybe a Windows települt. Szintén teljes elérési út, pl.:
C:\Windows

A többit fedezzétek fel a set parancs kimenetéről! ;) Remélem hasznosnak találtad a cikket, kellemes környezeti változózást :D


Megjegyzések

  1. Dinamikus elérés lehetséges valahogy batch-ben szerinted
    * mint helyettesítő karakter és fel is ismerje

    mkdir D:\PROFIL\*\PELDA
    sajnos ezt nem ismeri a csillagot hogy abban a mappában az összes almappájában szeretném tenni

    D:\PROFIL\FELHASZ1
    D:\PROFIL\TIZI
    D:\PROFIL\STB

    EREDMÉNYNEK EZT VÁRNÁM
    D:\PROFIL\FELHASZ1\PELDA
    D:\PROFIL\TIZI\PELDA
    D:\PROFIL\STB\PELDA

    más lenne a parancs amit létrehozatnák vele nem mappa létre hozás de ha a folder megy így akkor mási is

    VálaszTörlés

Megjegyzés küldése

Népszerű bejegyzések ezen a blogon

Ismerkedés a parancssorral: cmd

IP cím lekérdezése