környezeti változók

Környezeti változók használt csomagot (a parancs) fájlokat, amelyek lehetővé teszik a megszüntetése nélkül abszolút útvonalakat a könyvtárakat. Például, ha nem tudjuk előre a rendszer betűjelet, akkor mindig a változó% systemdrive%. vissza a meghajtó betűjele, amelyen az operációs rendszer telepítve van. Továbbá, változók, melyek optimalizálják a kódot - Sokszor megismétlődik egy paramétert (például regisztrációs kulcs) hozzá lehet rendelni egy rövid változó, és használja azt. Ez a cikk részletesen vizsgálja a különböző módszerekkel dolgozó változók, valamint módon megváltoztatni és új változókat. Most első dolog az első.

környezeti változók

Osztályozása a környezeti változók

Windows Súgó két típusát különbözteti meg a környezeti változókat. szisztémás és lokális. Rendszer változók ugyanazt az értéket az összes felhasználó számára. Például% systemdrive% - a rendszer betűjelet, és ez ugyanaz minden felhasználó számára. De a visszaadott értékek a helyi változók, függ a bejelentkezett felhasználó. Például% userprofile% visszatérhet C: # 92; Documents and Settings # 92; TekuschiyPolzovatel ahol TekuschiyPolzovatel - a neve a felhasználói fiókot.

Visszaadja az alapértelmezett hely, ahol az alkalmazások az adatok tárolására.

Változók használata kötegfájlokat

Kezdjük egy egyszerű példát:

DEL / F / Q "% AllUsersProfile% # 92; # 92 főmenüben; Windows.lnk aktiválása"
DEL / F / Q "% AllUsersProfile% # 92; # 92 Main Menu; WindowsUpdate.lnk" DEL / F / Q "% systemroot% # 92; system32 mappában # 92 ;. * Forgatókönyv"

Az összes parancs, én kifejezetten használt a „idézetek” - ez nem véletlen. Az egész utat, beleértve a változókat kell idézőjelbe, ha használ utat terek. Még ha a változó önmagában nem tartalmaz idézőjeleket, miután elemzés rendszert oly módon tűnhet rések (például% ProgramFiles% C: # 92; Program Files). Mindenesetre, jobb a idézetek - ez egy jó gyakorlat, hogy tervezzen parancs fájlokat.

Hogyan kell beállítani a változók

Példa a fent tárgyalt használt a meglévő környezeti változókat. És akkor már valószínűleg észrevette a százalékos jelek veszik körül, hogy a változó nevét. Ezek a karakterek van szükség annak érdekében, hogy a helyettesítés változó értékeket a parancssorban vagy egy batch fájlt. Százalékos jelek arra utalnak, hogy a cmd.exe kell fellebbezni a változók értékeit, ahelyett, hogy karakterenként képest. Alább látható, hogyan működik. Kérdezze meg a változókat egy batch fájlt, akkor meg a parancsot.

a SET

Megadhatja a batch fájlt a változók mindegy SET parancsot.

Ahhoz, hogy hozzá egy változó, a parancssorba:

Megjelenítéséhez egy változó, a parancssorba:

Változó törléséhez, a parancssorba:

Fontos megjegyzés: A változók által meghatározott set paranccsal. érvényes csak a parancs ülésén. amelyben nem merült fel.

Ezek a változók hozhatók létre, például az összes utak, csupán arra van szükség, hogy meghatározza, vagy talál az algoritmus hozzárendelni a változó minden adott helyzetben, a kész példákat vagy létre saját alapul. Általában ezeket a változókat létre az aktuális ülésén a batch fájl segítségével egyes szolgáltatók.

Példa cél változók RunOnceEx.cmd fájlt. Import beállítások a regisztrációs

@echo off
SET KEY = HKLM # 92; SOFTWARE # 92; Microsoft # 92; Windows-# 92; CurrentVersion # 92; RunOnceEx
100 SET i =

REG ADD% KEY% / V CÍM / D "Alkalmazások telepítése" / f

REG ADD% KEY% # 92;% i% / VE / D "WinRar 3,51" / f
REG ADD% KEY% # 92;% i% / V 1 / D "% systemdrive% # 92; telepítés # 92; Szoftver # 92; WinRar.exe / s" / f
REG ADD% KEY% # 92;% i% / V 2 / D "REGEDIT / S% systemdrive% # 92; telepítés # 92; Szoftver # 92; rar_set.reg / s" / f
SET / A i + = 1

Ebben a script SET parancs állítja két változó -% i% és% KEY%. Vegye figyelembe, hogy nem kapnak karakter százalékot, de elérheti őket %% többé szükség. Változtatható% KEY% célja, hogy egyszerűsítse és optimalizálja kódot. Ez változatlan marad a jelenlegi parancs ülésén, amely szükségtelenné teszi minden egyes alkalommal, hogy tartalmazza a regisztrációs kulcs kód. Minden alkalommal, amikor egy kód található% KEY%. A csere történhet HKLM # 92; SOFTWARE # 92; Microsoft # 92; Windows-# 92; CurrentVersion # 92; RunOnceEx. De% i% -át használják sorszámokra regisztrációs kulcsot. Amikor a kezdeti értéke a változó 100 növekszik a SET parancs / A i + = 1 után minden egyes utasítás egység, amely megadja a szekvencia 100, 101, 102, stb Így, vonal

REG ADD% KEY% # 92;% i% / V 1 / D "% systemdrive% # 92; telepítés # 92; Szoftver # 92; WinRar.exe / s" / f

valójában ez jól fog működni

REG ADD HKLM # 92; SOFTWARE # 92; Microsoft # 92; Windows-# 92; CurrentVersion # 92; RunOnceEx # 92; 100 / V 1 / D „C: # 92; telepítés # 92; Software # 92; WinRar.exe / s „/ f

Vegye figyelembe, hogy a megadott területen is a rendszer által használt változó% systemdrive%. amely megfelel a rendszer betűjelet.

Példa cél változók egy batch fájlt, az alkalmazás telepítve van a CD:

A %% i (C D E F G H I J K L M N O P Q R S T U V W X Y Z) egyáltalán, ha léteznek %% i: # 92; WIN51 beállítva CDROM = %% i:
start / wait "% CDROM% # 92; # telepítésére 92; DVDTools # 92; NBRom # 92; Nero.exe"

Ebben a példában az összes ilyen meghajtót keres egy adott fájl (WIN51). Abban az esetben, akkor az észlelés az egyik lemez, az utóbbi van hozzárendelve a változó% CDROM%. és ott van már szoftver telepítés utat teremtett a megadott változó.

Környezeti változók módosításához, és hozzá saját változókat

Mint már említettük, a változók hatása által meghatározott set paranccsal. kizárólagosan az aktuális parancs ülésén. Ha azt szeretnénk, hogy ki az idő változó rendszer, vagy felhasználó, akkor regisztrálnia kell a registry-ben. Tedd azt is, hogy a különböző módon.

setenv segédprogram

A segédprogram a parancssorból (az oldalon. Letöltés). Munka a segédprogram nagyon egyszerű (setenv /?).

Egyéni beállítások: setenv -u variable_name értéke
Rendszerbeállítások: setenv -m variable_name értéke
Alapértelmezett felhasználói beállítások: setenv -d variable_name értéke
Állítsa be az aktuális felhasználói munkamenet. A setenv variable_name érték -v

Például, ha meg kell, hogy a változó% temp%, még a telepítés alatt, akkor lehet, hogy ezt honnan Cmdlines.txt. például:

Létrehozása és beállítása Temp mappában.
MD% systemdrive% # 92; Hőm
setenv -u Temp% systemdrive% # 92; Hőm
setenv -u TMP% systemdrive% # 92; Hőm

A segédprogram hasznos, hogy a beállítás után változtatható használhatja azonnal. Nos, szinte azonnal - a következő parancsot ülésén. Ahhoz, hogy használni az aktuális munkamenet, akkor a régi ismerős parancs készlet:

Létrehozása # EgOrus # var
beállítva EgOrus = D: # 92; EgOrus
setenv -u EgOrus% EgOrus%

Import paraméterek a nyilvántartásban

Ha végigmegyünk a változás a registry után az első bejelentkezés, a változók „működik” csak újraindítása után, vagy befejezheti a munkamenetet. Természetesen közben az automatikus telepítés is lehetséges importálni kívánt paramétereket T-12 (lásd. Cikk registry Tviki), és megkerülni ezt a problémát. Ha nem használja a hozzárendelt változó az aktuális felhasználói munkamenet, majd importálja a registry is gondoskodik. Az importálási folyamat REG-fájlt újra nem írom le, és megvitatják REG ADD paranccsal egy konkrét példát.

Tegyük fel, hogy azt szeretné, hogy a rendszer változó% CDROM% állandó jelleggel, és hozza létre azt a folyamatot alkalmazások telepítésére a CD-ről. Miután a fenti kód szükséges meghatározása után változó hozzárendelése a rendszer.

A %% i (C D E F G H I J K L M N O P Q R S T U V W X Y Z) egyáltalán, ha léteznek %% i: # 92; WIN51 beállítva CDROM = %% i:
REG ADD "HKEY_LOCAL_MACHINE # 92; RENDSZER: # 92; CurrentControlSet # 92; Ellenőrző # 92; kapcsolatmenedzser # 92; Környezet" / v cdrom / d% CDROM% / f

Miután megtalálta a WIN51 fájl lemezen, amelyen azt találtuk, hogy hozzá van rendelve egy helyi változó% CDROM%. amely azonnal és adjuk folytonos változóként importáló rendszer az adatbázis. Ez a módszer javasolt az egyik téma a konferencián Oszone Sanja egyedül. Ugyanakkor, tudod. ahol beállítási rendszer változókat tárolja a rendszerleíró adatbázisban. Az egyéni változók tárolják a HKCU # 92; Környezet. Way vissza változó% PROGRAMFILES% és% COMMONPROGRAMFILES% lehet megtekinteni a beállításokat, és ProgramFilesDir CommonFilesDir HKLM # 92; SOFTWARE # 92; Microsoft # 92; Windows-# 92; CurrentVersion, de megváltoztatni őket nem szabad. Katalógusok telepítőprogramjai (kivéve% SystemDrive% # 92; Program Files) be kell állítani a válasz fájlt.

Windows parancssori shell (cmd.exe) - ez egy nagyon hatékony eszköz dolgozik a rendszer. A rendszer segítségével a batch fájlokat lehet automatizálni egy szép összeg a problémákat, és ezért gyakran használják, hogy automatikusan telepítse a Windows. Ügyes használata változók kötegfájlokat lehetővé teszi, hogy megoldja a kérdések széles körét. Munkavégzés a shell hatékonyabbá válik, és ugyanakkor egyszerűsíti a kódot a batch file. További példák olyan változók használata, megtalálja a helyszínen vagy a fórum. Az összes példa a cikkben használt veszünk script résztvevői. amelyért nagyon köszönöm.

terminológia

Shell - egy önálló szoftver termék, amely közvetlen kapcsolatot biztosít a felhasználó és az operációs rendszer. Szöveg felhasználói felület egy parancssori környezet fut alkalmazások és segédprogramok szöveges felületen.

cmd.exe - command interpreter, hogy a Windows shell használ átvinni parancs lépett méret érteni a rendszer. A szöveg ^

Command folyamat kezdeményezhető a dob cmd.exe. és elindít egy batch fájlt. Más szóval, a keletkező áram shell. Ennek megfelelően, a kimeneti Ennek a burkolatnak (például, a végén a kötegelt fájl) befejezi a parancsot munkamenet. A szöveg ^

Felhasználói munkamenet (felhasználói munkamenet) kezdődik a felhasználó be van jelentkezve (jelentkezzen be), és véget ér a kimeneti (log off). A szöveg ^