![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
С помощью оператора IF … ELSE (ключевое слово ELSE может отсутствовать) в КФ можно выполнять обработку условий двух типов. При этом если заданное после IF условие принимает истинное значение, система выполняет следующую за условием команду (или несколько команд, заключенных в круглые скобки), в противном случае выполняется команда (или несколько команд в скобках), следующие за ключевым словом ELSE – так же, как и в языках программирования.
Первый тип условия используется обычно для проверки значения переменной. Для этого применяются два варианта записи оператора IF:
IF [NOT] строка1==строка2 команда1 [ELSE команда2]
(квадратные скобки указывают на необязательность заключенных в них параметров) или
IF [/I] [NOT] строка1 оператор_сравнения строка2 команда
Условие строка1==строка2 считается истинным при точном совпадении обеих строк. Параметр NOT указывает на то, что заданная команда выполняется лишь в том случае, когда сравниваемые строки не совпадают.
Для группировки команд могут использоваться круглые скобки. Иногда использование круглых скобок необходимо для правильной работы команды if…else – например для вывода на экран наибольшего из двух параметров, с которыми запущен КФ, следует использовать оператор
if %1 GTR %2 (echo %1) else (echo %2)
Строки могут быть литеральными или представлять собой значения переменных (например, %1 или %TEMP%). Кавычки для литеральных строк не требуются. Например,
IF %1==%2 ECHO Параметры совпадают!
При сравнении строк, заданных переменными, следует учитывать, что значение переменной (или параметр командной строки) может оказаться пустой строкой, и тогда выполнение КФ аварийно завершится. Поэтому при сравнении строк нужно приписывать к ним слева какой-нибудь символ, например:
IF -%MyVar%==-C:\ ECHO strings equal
С помощью команд IF и SHIFT можно в цикле обработать все параметры командной строки файла. Например, следующий КФ par.cmd выводит на экран имя запускаемого файла и все параметры командной строки:
ECHO run: %0
:BegLoop
IF -%1==- GOTO ExitLoop
ECHO %1
SHIFT
GOTO BegLoop
:ExitLoop
Если запустить par.bat с двумя параметрами A B, на экран выведется следующая информация:
run: par.cmd
A
B
Рассмотрим условный оператор IF в общем виде:
IF [/I] строка1 оператор_сравнения строка2 команда
Форма записи операторов_сравнения представлена в табл. 2.
Таблица 2. Операторы сравнения в IF
|
Ключ /I, если он указан, задает сравнение текстовых строк без учета регистра. Ключ /I можно также использовать и в форме строка1==строка2 команды IF. Например, условие
IF /I AB==ab будет истинным.
Второй способ использования оператора IF — это проверка существования заданного файла. Синтаксис для этого случая имеет вид:
IF [NOT] EXIST файл команда1 [ELSE команда2]
Условие считается истинным, если указанный файл существует. В приведенном примере 5 в КФ с помощью команды IF проверяется наличие файла, указанного в качестве параметра командной строки.
Дата публикования: 2014-12-11; Прочитано: 987 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!