променливи

променливи, използвани в пакет (командата) файлове, които позволяват премахването без абсолютни пътища към директории. Например, ако не сме известни предварително на буквата на системния диск, винаги можем да използваме променлива% SystemDrive%. връща буквата на устройството, на който е инсталирана операционната система. Също така, променливи се използват за оптимизиране на кода - се повтаря много пъти параметър (например ключ на системния регистър) може да бъде назначен за кратко променлива и да го използвате. Тази статия разглежда подробно различните методи за работа с променливи, както и начина за промяна и за създаване на нови променливи. Първите Сега първите неща.







променливи

Класификация на променливите на околната среда

Windows Help прави разграничение между два вида променливи на средата. системна и локална. Системни променливи върнат една и съща стойност за всички потребители. Например% SystemDrive% - буквата на системния диск, и това е един и същ за всички потребители. Но ценностите, върнати от локалните променливи, варират в зависимост от влезлия потребител. Например% профил_на_потребител% може да се върне C: # 92; Документи и настройки # 92; TekuschiyPolzovatel където TekuschiyPolzovatel - името на потребителския акаунт.

Връща местоположението по подразбиране, когато заявленията съхраняване на данни.

Използване на променливи в партида файлове

Да започнем с един прост пример:

DEL / F / Q "% AllUsersProfile% # 92; # 92 Меню; Windows.lnk активиране"
DEL / F / Q "% AllUsersProfile% # 92; # 92 Меню; WindowsUpdate.lnk" DEL / F / Q "% SystemRoot% # 92; system32 папка # 92 ;. * Scr"

Във всички команди, аз специално се използва на "кавички" - това не е случайно. Целият път, включително променливите трябва да бъдат затворени в кавички, ако използвате пътека с интервали. Дори самата променлива не съдържа кавички, след анализирането на системата по такъв начин, че може да изглежда пропуски (например% ProgramFiles% в C: # 92; Program Files). Във всеки случай, по-добре да се използват кавички - това е добра практика да се изработи командни файлове.

Как да зададете вашите променливи

Пример обсъдено по-горе използва съществуващите променливи околната среда. И вероятно сте забелязали на сто знаци, които обграждат имената на променливите. Тези символи са необходими, за да се даде възможност на заместване на променливите в командния ред или на партиди. Процент признаци показват, че Cmd.exe трябва да се хареса на стойностите на променливите, вместо да правиш характер в сравнение характер. По-долу ще видите как тя работи. Помолете вашите променливи на партиди, можете да зададете команда.

Наборът

Можете да изберете в партидата файл променливите си с помощта на всички един и същ набор команда.

За да добавите променлива, в командния ред:

За да се покаже променлива, в командния ред:

За да изтриете дадена променлива, в командния ред:

Важна забележка: Променливите се определя от набор команда. валидна само за командния сесия. в които те бяха повдигнати.

могат да бъдат създадени Тези променливи, например, за всички пътища, е необходимо само да се уточни или намери алгоритъм за възлагане на променлива във всяка конкретна ситуация, като се използват готови примери или създаване на своя собствена въз основа на тях. Обикновено тези променливи са създадени в текущата сесия на партида файлове с помощта на някои оператори.

Пример целеви променливи в RunOnceEx.cmd файл. Импортиране на настройките в системния регистър

@echo разстояние
SET KEY = HKLM # 92; СОФТУЕР # 92; Microsoft # 92; Windows # 92; CurrentVersion # 92; RunOnceEx
100 SET I =

REG ADD% KEY% / V ДЯЛ / D "Инсталиране на приложения" / е

REG ADD% KEY% # 92;% и% / VE / D "WinRar 3.51" / е
REG ADD% KEY% # 92;% и% / V 1 / D "% SystemDrive% # 92; инсталиране # 92; софтуер # 92; WinRar.exe / и" / е
REG ADD% KEY% # 92;% и% / V 2 / D "регентство / S% SystemDrive% # 92; инсталиране # 92; софтуер # 92; rar_set.reg / и" / е
SET / A I + = 1

В този сценарий SET команда поставя две променливи -% и% и% KEY%. Имайте предвид, че те не са дадени знака на сто, а за да има достъп до тях %% вече е необходимо. Променлива% KEY% е предназначен за опростяване и оптимизиране на код. Тя остава непроменена за текущата команда сесия, което елиминира необходимостта всеки път да се включи в кода за ключ на системния регистър. Всеки път, когато се установи, код% KEY%. замяната му ще се появят в HKLM # 92; СОФТУЕР # 92; Microsoft # 92; Windows # 92; CurrentVersion # 92; RunOnceEx. Но аз%% се използва за поредния номер на ключове в регистъра. Когато първоначалната стойност на променливата 100 се увеличава с командата SET / A I + = 1 след всяка инструкция единица, която дава последователност от 100, 101, 102 и т.н. По този начин, ред







REG ADD% KEY% # 92;% и% / V 1 / D "% SystemDrive% # 92; инсталиране # 92; софтуер # 92; WinRar.exe / и" / е

всъщност тя ще работи добре

REG ADD HKLM # 92; СОФТУЕР # 92; Microsoft # 92; Windows # 92; CurrentVersion # 92; RunOnceEx # 92; 100 / V 1 / D "C: # 92; инсталирате # 92; Софтуер # 92; WinRar.exe / S "/ е

Имайте предвид, че в определена област се използва и от променлива система% SystemDrive%. което съответства на буквата на системния диск.

Пример целеви променливи в партиди, приложението е инсталирано на CD:

за %% и в (С Г Д Е Ж З И Й К Л М Н О П Р Т U V W X Y Z) се ако съществува %% I: # 92; WIN51 избран CDROM = %% I:
старт / чакане "% CDROM% # 92; INSTALL # 92; DVDTools # 92; NBRom # 92; Nero.exe"

В този пример, всички тези устройства е търсене на конкретен файл (WIN51). В случай, че се открива на един от дисковете, последният се определя на променливата% CDROM%. и след това вече има инсталация на софтуер с помощта на пътя, създаден от определен променлива.

Промяна на околната среда променливи, и добавяне на ваши собствени променливи

Както бе споменато по-горе, ефектът от променливи определя от набор команда. ограничено до текущата команда сесия. Ако искате да се измъкнем от променливата системата време или потребител, ще трябва да го регистрирате в системния регистър. Уверете се, може да бъде и най-различни начини.

SetEnv полезност

Помощната програма се стартира от команден ред (на сайта. Изтеглянето). Работа с помощната програма е много проста (SetEnv /?).

Потребителски настройки: SetEnv -u стойност variable_name
Системни настройки: SetEnv стойност -м variable_name
Настройки по подразбиране на потребителя: SetEnv -d стойност variable_name
Задаване на текущия потребител сесия. -v на SetEnv variable_name стойност

Например, ако имате нужда, за да получите променлива% темп%, дори по време на фазата на монтажа, че е възможно да се направи от Cmdlines.txt. например:

Създаване и настройка Temp папка.
MD% SystemDrive% # 92; Темп
SetEnv -u Темп% SystemDrive% # 92; Темп
SetEnv -u Tmp% SystemDrive% # 92; Темп

Ползата е полезна с това, че, след като настроите променлива можете да го използвате веднага. Е, почти веднага - в следната команда сесия. За да го използвате в текущата сесия, можете да използвате стария познат команда набор:

Създаване на # EgOrus # Var
избран EgOrus = D: # 92; EgOrus
SetEnv -u EgOrus% EgOrus%

Внос параметри в регистъра

Ако отидем чрез промяна в регистъра след първото влизане, променливите ще "работят" само след рестартиране или в края на сесията. Разбира се, в процеса могат да бъдат внесени avtoustanovki желаните параметри на Т-12 (вж. Член Tviki регистър) и да се заобиколи този проблем. Ако не възнамерявате да използвате зададената променлива в текущата потребителска сесия, след това да импортирате регистъра също така можете. В процес на внос REG-файла отново Няма да описвам, и да обсъдим REG ADD команда за конкретен пример.

Да речем, че искате да има в системата променлива% CDROM% за постоянно и да го установи в процеса на инсталиране на приложения от компактдиск. След кода по-горе, е необходимо след определяне на променливата да преотстъпва своята система.

за %% и в (С Г Д Е Ж З И Й К Л М Н О П Р Т U V W X Y Z) се ако съществува %% I: # 92; WIN51 избран CDROM = %% I:
REG ADD "HKEY_LOCAL_MACHINE # 92; СИСТЕМА # 92; CurrentControlSet # 92; контрол # 92; Session Manager # 92; околната среда" / об CDROM / г% CDROM% / е

След намирането диск файл WIN51, на която е установено, те се причисляват към локална променлива% CDROM%. което незабавно и се прилага като продължителна променлива, като се внасят система на системния регистър. Този метод се препоръчва в една от темите на конференцията Oszone Саня Alone. В същото време, нали знаете. където определящи променливи система се съхраняват в системния регистър. Персонализирани променливи се съхраняват в HKCU # 92; околна среда. Way върна променлива% PROGRAMFILES% и% COMMONPROGRAMFILES%, може да се разглежда в настройките и ProgramFilesDir CommonFilesDir в HKLM # 92; СОФТУЕР # 92; Microsoft # 92; Windows # 92; CurrentVersion, но да ги промените не трябва да има. инсталационни програми, каталози (различни от SystemDrive%% # 92; Program Files) трябва да бъде конфигуриран чрез отговор файл.

Windows команден шел (cmd.exe) - това е един много мощен инструмент за работа със системата. С помощта на партида файлове можете да автоматизирате справедлива стойност на проблеми, и затова те често се използват за автоматично инсталиране на Windows. Умелото използване променливи в партида файлове дава възможност за решаване на широк кръг от въпроси. Работа с обвивката става по-ефективно и в същото време да се опрости кода на партида файлове. Други примери за използването на променливи, които можете да намерите на сайта или форума. Всички примери, използвани в тази статия са взети от скриптове участници. за които те много ви благодаря.

терминология

Shell - е отделен софтуерен продукт, който осигурява пряка връзка между операционната система на потребителя и. Текст потребителски интерфейс осигурява команден ред среда, която работи приложения и помощни програми с текст интерфейс.

cmd.exe - командния интерпретатор, че Windows черупка използва командата трансфер влезе във формат, разбираем системата. Текстът ^

Command сесия може да бъде открита в старта cmd.exe. и стартиране на партиди. С други думи, на ток, генериран черупка. Съответно, на изхода на този плик (например, в края на файла партида) завършва команда сесия. Текстът ^

Сесията на потребителя (потребителска сесия) започва с потребителя е в профила си (влезете) и завършва на мощност (излезете). Текстът ^