Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...
Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...
Топ:
Комплексной системы оценки состояния охраны труда на производственном объекте (КСОТ-П): Цели и задачи Комплексной системы оценки состояния охраны труда и определению факторов рисков по охране труда...
Эволюция кровеносной системы позвоночных животных: Биологическая эволюция – необратимый процесс исторического развития живой природы...
Интересное:
Аура как энергетическое поле: многослойную ауру человека можно представить себе подобным...
Инженерная защита территорий, зданий и сооружений от опасных геологических процессов: Изучение оползневых явлений, оценка устойчивости склонов и проектирование противооползневых сооружений — актуальнейшие задачи, стоящие перед отечественными...
Берегоукрепление оползневых склонов: На прибрежных склонах основной причиной развития оползневых процессов является подмыв водами рек естественных склонов...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|
Первый тип условия используется обычно для проверки значения переменной. Для этого применяются два варианта синтаксиса команды IF:
IF [NOT] строка1==строка2 команда1 [ELSE команда2](квадратные скобки указывают на необязательность заключенных в них параметров) или
IF [/I] [NOT] строка1 оператор_сравнения строка2 командаРассмотрим сначала первый вариант. Условие строка1==строка2 (здесь необходимо писать именно два знака равенства – как и в программах на С/C++) считается истинным при точном совпадении обеих строк. Параметр NOT указывает на то, что заданная команда выполняется лишь в том случае, когда сравниваемые строки не совпадают.
Для группировки команд могут использоваться круглые скобки. Иногда использование круглых скобок необходимо для правильной работы команды if…else – например для вывода на экран наибольшего из двух параметров, с которыми запущен командный файл, следует использовать оператор
if %1 GTR %2 (echo %1) else (echo %2)
Строки могут быть литеральными или представлять собой значения переменных (например, %1 или %TEMP%). Кавычки для литеральных строк не требуются. Например,
IF %1==%2 ECHO Параметры совпадают!IF %1==windowsECHO значение первого параметра - windowsОтметим, что при сравнении строк, заданных переменными, следует проявлять определенную осторожность. Дело в том, что значение переменной может оказаться пустой строкой, и тогда может возникнуть ситуация, при которой выполнение командного файла аварийно завершится. Например, если вы не определили с помощью команды SET переменную MyVar, а в файле имеется условный оператор типа
IF %MyVar%==C:\ ECHO Ура!!!то в процессе выполнения вместо %MyVar% подставится пустая строка и возникнет синтаксическая ошибка. Такая же ситуация может возникнуть, если одна из сравниваемых строк является значением параметра командной строки, так как этот параметр может быть не указан при запуске командного файла. Поэтому при сравнении строк нужно приписывать к ним в начале какой-нибудь символ, например:
IF -%MyVar%==-C:\ ECHO Ура!!!С помощью команд IF и SHIFT можно в цикле обрабатывать все параметры командной строки файла, даже не зная заранее их количества. Например, следующий командный файл (назовем его primer.bat) выводит на экран имя запускаемого файла и все параметры командной строки:
@ECHO OFFECHO Выполняется файл: %0ECHO.ECHO Файл запущен со следующими параметрами...:: Началоцикла:BegLoopIF -%1==- GOTO ExitLoopECHO %1:: Сдвиг параметровSHIFT:: Переход на начало циклаGOTO BegLoop:ExitLoop:: Выход из циклаECHO.ECHO Все.Если запустить primer.bat с четырьмя параметрами:
primer.bat A B C Dто в результате выполнения на экран выведется следующая информация:
Выполняется файл: primer.bat Файл запущен со следующими параметрами:ABCD Все.Рассмотрим теперь оператор IF в следующем виде:
IF [/I] строка1 оператор_сравнения строка2 командаСинтаксис и значение операторов_сравнения представлены в табл. 2.
| Таблица 2. Операторы сравнения в IF | |
| Оператор | Значение |
| EQL | Равно |
| NEQ | Не равно |
| LSS | Меньше |
| LEQ | Меньше или равно |
| GTR | Больше |
| GEQ | Больше или равно |
Пример 4 использования операторов сравнения:
@ECHO OFFCLSIF -%1 EQL –Вася ECHO Привет, Вася!IF -%1 NEQ –Вася ECHO Привет, но Вы не Вася!Ключ /I, если он указан, задает сравнение текстовых строк без учета регистра. Ключ /I можно также использовать и в форме строка1==строка2 команды IF. Например, условие
IF /I DOS==dos …будет истинным.
Проверка существования заданного файла
Второй способ использования команды IF — это проверка существования заданного файла. Синтаксис для этого случая имеет вид:
IF [NOT] EXIST файл команда1 [ELSE команда2]Условие считается истинным, если указанный файл существует. Кавычки для имени файла не требуются. Приведем пример командного файла, в котором с помощью такого варианта команды IF проверяется наличие файла, указанного в качестве параметра командной строки.
@ECHO OFFIF -%1==- GOTO NoFileSpecifiedIF NOT EXIST %1 GOTO FileNotExist:: Вывод сообщения о найденном файлеECHO Файл '%1' найден.GOTO:EOF:NoFileSpecified:: Файл запущен без параметровECHO В командной строке не указано имя файла.GOTO:EOF:FileNotExist:: Параметр командной строки задан, но файл не найденECHO Файл '%1' не найден.|
|
|
Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...
Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...
Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!