Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Команда SET

Читайте также:
  1. III. Действия с оружием по подаваемым командам
  2. IV. Требования к участникам и командам
  3. В случае если команда не в состоянии продолжать участие в соревнованиях, руководитель команды должен подать начальнику дистанции письменное заявление о снятии команды.
  4. ВАША КОМАНДА МЕЧТЫ
  5. За каждый правильный ответ команда может получить 3 балла.
  6. За не соблюдение правил техники безопасности и нарушение дисциплины, команда может быть снята с участия в этапе решением председателя судейской коллегии или главного судьи.
  7. Команда extend

Вы можете задать в командном файле свои переменные при помощи все той же команды SET.

Чтобы добавить переменную, введите в командной строке:

set имя_переменной=значение

Чтобы отобразить переменную, введите в командной строке:

set имя_переменной

Чтобы удалить переменную, введите в командной строке:

set имя_переменной=

Например,

SET mydir=D:\Files\Work

 

задает переменную mydir, которая будет возвращать путь к указанной папке. Подробнее о команде вы можете прочитать из set /?.

Важное примечание: переменные, задаваемые командой set, действуют лишь на протяжении командной сессии, в которой они были заданы.

Эти переменные могут быть созданы, к примеру, для любых путей, надо лишь задать или найти алгоритм присвоения переменной в каждой частной ситуации, пользуясь готовыми примерами или создавая свои на их основе. Как правило, такие переменные создаются в текущей сессии командными файлами с помощью некоторых операторов.

Пример назначения переменных в файле RunOnceEx.cmd, импортирующем ключи в реестр

@echo off
SET KEY=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx
SET i=100

REG ADD %KEY% /V TITLE /D "Installing Applications" /f

REG ADD %KEY%\%i% /VE /D "WinRar 3.51" /f
REG ADD %KEY%\%i% /V 1 /D "%systemdrive%\install\Software\WinRar.exe /s" /f
REG ADD %KEY%\%i% /V 2 /D "REGEDIT /S %systemdrive%\install\Software\rar_set.reg /s" /f
SET /A i+=1

В данном скрипте командой SET задаются две переменных - %i% и %KEY%. Обратите внимание, что задаются они без символов процентов, а вот для обращения к ним %% уже нужны. Переменная %KEY% служит для упрощения и оптимизации кода. Она остается неизменной на протяжении текущей командной сессии, что избавляет от необходимости каждый раз включать в код ветку реестра. Каждый раз когда в коде встречается %KEY% будет происходить ее замена на HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx. А вот %i% служит для последовательной нумерации разделов реестра. При начальном значении 100 переменная увеличивается на единицу при помощи команды SET /A i+=1 после каждого блока команд, что дает последовательность 100, 101, 102 и т.д. Таким образом, строка

REG ADD %KEY%\%i% /V 1 /D "%systemdrive%\install\Software\WinRar.exe /s" /f

на самом деле отработает так

REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\100 /V 1 /D "C:\install\Software\WinRar.exe /s" /f

Обратите внимание, что во фрагменте файла также используется системная переменная %systemdrive%, которая соответствует букве системного диска.

Пример назначения переменных в командном файле, устанавливающем приложение с CD:

for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%i:\WIN51 set CDROM=%%i:
start /wait “%CDROM%\INSTALL\DVDTools\NBRom\Nero.exe”

В этом примере для всех перечисленных дисков происходит поиск определенного файла (WIN51). В случае его обнаружения на одном из дисков, последнему присваивается переменная %CDROM%, а далее уже происходит установка программного обеспечения с использованием пути, заданного созданной переменной.

Изменение переменных среды и добавление собственных переменных

Как уже было сказано выше, действие переменных, заданных командой set, ограничивается текущей командной сессией. Если вы хотите получить из временной переменной системную или пользовательскую, то надо ее прописать в реестр. Сделать это тоже можно различными способами.


Дата добавления: 2015-07-15; просмотров: 105 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Переменные среды| Глава 1. Первая неделя

mybiblioteka.su - 2015-2024 год. (0.007 сек.)