Использование переменных в командных файлах.
Существует такое понятие, как переменные окружения (environments) - это переменные, значения которых характеризуют среду, в которой выполняются команда или пакетный файл. Иногда их называют переменными среды. Принимаемые значения этих переменных формируются при загрузке, регистрации пользователя в системе, старте или завершении некоторых приложений, и, кроме того, могут быть заданы с помощью специальной команды SET SET переменная=строка переменная - имя переменной среды. Например, командная строка Значение, присвоенное какой-либо переменной, доступно для обработки в командных файлах, при использовании ее имени, заключенного в знаки процента - %. Например команда выдачи текста на дисплей ECHO в виде: С помощью команды SET обычно задается и модифицируется путь поиска исполняемых программ - переменная окружения PATH. SET PATH=C:\Windows;C:\windows\system32 Выполнение команды SET без параметров позволяет получить текущие значения переменных окружения: NUMBER_OF_PROCESSORS=1 - количество процессоров OS=Windows_NT- тип ОС Path=C:\WINDOWS\system32;C:\WINDOWS;C:\Program Files\Far - путь поиска исполняемых файлов. PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH - расширения для исполняемых файлов. PROCESSOR_ARCHITECTURE=x86 - архитектура процессора. PROCESSOR_IDENTIFIER=x86 Family 6 Model 8 Stepping 1, AuthenticAMD - идентификатор процессора. PROCESSOR_LEVEL=6 - уровень (номер модели) процессора. PROCESSOR_REVISION=0801 - версия процессора. ProgramFiles=C:\Program Files - путь к папке "Program Files" PROMPT=$P$G - формат приглашения командной строки $P - путь для текущего каталога $G - знак ">". SystemDrive=C: - буква системного диска. SystemRoot=C:\WINDOWS - каталог ОС Windows.
Значение некоторых переменных по команде SET не выдаются. В основном, это переменные, принимаемые значения которых динамически изменяются: %CD% - Принимает значение строки текущего каталога. %DATE% - Принимает значение текущей даты. %TIME% - Принимает значение текущего времени. %RANDOM% - Принимает значение случайного десятичного числа в диапазоне 1 -32767. %ERRORLEVEL% - Принимает текущее значение кода завершения задачи ERRORLEVEL %CMDEXTVERSION% - Принимает значение версии командного процессора CMD.EXE для расширенной обработки команд. %CMDCMDLINE% - Принимает значение строки, которая вызвала командный процессор.
Для просмотра действующего значения какой-либо переменной обычно используется команда: ECHO %переменная% Значения, принимаемые переменными окружения, могут быть расширены с помощью специального признака - символа " ~ ", что получить частичное значение (расширение переменной), или изменить его заменой какой-либо части. Примеры использования расширений переменных рассмотрены ниже. В состав дополнительных средств Windows 2000/XP, и в комплект дистрибутива Windows 7 входит специальная утилита для формирования пользовательских и системных переменных окружения SetX, позволяющая записывать имена и значения переменных в реестр. Ссылка "Список команд CMD Windows" в конце статьи.
|