Заявление «ЕСЛИ»
Общий синтаксис написания условного оператора или оператора «if» следующий:
если [ условие для проверки ] [ команда ]Условие представляет собой логическое выражение, имеющее только два возможных результата: True или False. Если условие соответствует критериям или истинно, выполняется команда или блок, указанный в операторе «if». Команда не выполняется или пропускается, если критерий ложный.
Если условие, указанное в операторе «if», является ложным, оператор «else» используется для выполнения определенного действия. Он отображает следующее:
если [ условие для проверки ] [ команда ]
еще [ команда ]
Пример 1:
Следующий пакетный скрипт проверяет, равна ли переменная %USERNAME% значению «Администратор». Если это так, сценарий отображает сообщение «Вы являетесь системным администратором». В противном случае сценарий выводит сообщение «Вы не являетесь администратором».
@ эхо выключенный
если '%ИМЯ ПОЛЬЗОВАТЕЛЯ%' == «Администратор» (
эхо Вы системный администратор
) еще (
эхо Вы не администратор
)
Вот вывод файла пакетного сценария при использовании командной строки:
Пример 2:
Типичный сценарий включает в себя написание пакетного сценария, который проверяет наличие определенных веб-браузеров на ПК с Windows и принимает соответствующие меры. Три известных веб-браузера — Google Chrome, Microsoft Edge и Mozilla Firefox — проверяются на наличие в примере пакетного сценария, который представлен ниже. Он показывает уведомление в зависимости от того, какие браузеры установлены:
@ эхо выключенный
setlocal включенное расширение
:: Проверять для Гугл Хром
рег-запрос 'HKEY_LOCAL_MACHINE\SOFTWARE\Google\Chrome' > нулевой 2 >& 1
если ! уровень ошибки ! экв 0 (
эхо На этом компьютере установлен Google Chrome.
) еще (
эхо Google Chrome не установлен на этом компьютере.
)
:: Проверять для Мозилла Фаерфокс
рег-запрос «HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox» > нулевой 2 >& 1
если ! уровень ошибки ! экв 0 (
эхо На этом компьютере установлен Mozilla Firefox.
) еще (
эхо Mozilla Firefox не установлен на этом компьютере.
)
:: Проверять для Microsoft Край ( на основе хрома )
рег-запрос «HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Edge» > нулевой 2 >& 1
если ! уровень ошибки ! экв 0 (
эхо На этом компьютере установлен Microsoft Edge.
) еще (
эхо Microsoft Edge не установлен на этом компьютере.
)
локальный
Заявление «ELSE IF»
Мы также можем использовать оператор else if для указания нескольких условий. Оператор «else if» вводится следующим образом:
если [ условие для проверки ] [ блок операторов ]еще если [ условие для проверки ] [ блок операторов ]
еще [ блок операторов ]
Предположим, мы пишем программу (пакетный сценарий в Windows) для отслеживания возраста наших пользователей, а затем отображаем утверждения, указывающие, являются ли они детьми, подростками или взрослыми. Вот код, который мы используем:
@ эхо выключенныйsetlocal включенное расширение
:: Предложить пользователю ввести свой возраст
набор / п 'UserAge=Введите свой возраст в годах: '
:: Проверьте возраст и отобразите сообщение
если ! Возраст пользователя ! лсс 13 (
эхо Ты - ребенок.
) еще если ! Возраст пользователя ! лсс двадцать (
эхо Вы подросток.
) еще (
эхо Вы взрослый человек.
)
Эндлокальный
Используйте командную строку для навигации по рабочему каталогу, введите «CheckUserAge.bat», а затем нажмите клавишу «Enter», чтобы запустить код пакетного сценария. Многочисленные выходные данные различных входов показаны ниже:
Пример пакетного файла «If Else», чтобы определить, определена ли переменная
Условные операторы «if» и «else» в пакетном файле можно использовать для проверки того, определена ли переменная или нет:
Объяснение кода:
Пакетный сценарий проверяет, определена ли переменная, и печатает ее значение.
- @эхо выключено Фраза полезна для сокрытия выполняемых команд, не позволяя сценарию отображать какие-либо свои собственные строки в качестве вывода.
- Следующая строка, setlocal включенное расширение , сообщает сценарию о необходимости включения отложенного расширения. Это означает, что переменные не будут расширяться до тех пор, пока они не будут фактически использованы. Это полезно для предотвращения ошибок, когда переменные еще не определены.
- Следующий раздел скрипта проверяет, определена ли переменная «myVar». Если он определен, сценарий выводит сообщение «myVar определен, и его значение: !myVar!» сообщение. Восклицательный знак (!) перед именем переменной указывает на то, что скрипт немедленно расширит ее.
- Если переменная «myVar» не определена, сценарий выводит сообщение «myVar не определена».
- Следующая строка, ЕСЛИ «%myVar%»==»» (SET myVar=Hello) , проверяет, пуста ли переменная «myVar». Если оно пусто, скрипт присваивает переменной значение «Hello».
- Последняя строка отображает значение на экране командной строки.
setlocal включенное расширение
:: Проверять если переменная определена
если определено myVar (
эхо myVar определен, и его значение: ! мояВар !
) еще (
эхо myVar не определен.
)
ЕСЛИ '%myVar%' == '' ( НАБОР мояВар =Привет )
эхо % мояВар %
локальный
Рабочий скриншот:
Пример пакетного файла «If Else» для проверки существования файла или папки
К пакетным сценариям можно применять специальные операторы, чтобы определить наличие файла или папки по определенному пути.
@ эхо выключенный:: Укажите путь к файл или папка, которую вы хотите проверить
набор 'file_folder_Path=D:\Work\Arguments\Backup'
:: Проверять если тот файл или папка существует
если существовать '%file_folder_Path%' (
эхо файл или папка существует.
) еще (
эхо файл или папка не существует.
)
Предыдущий скрипт определяет следующее:
- Чтобы установить путь к целевому файлу или папке, во второй строке пакетного сценария указывается переменная «folder_Path». После этого эта переменная используется в условном операторе.
- Чтобы убедиться, что предоставленный файл или папка находится в этом месте, используйте условный оператор, которым в данном случае является оператор «if».
- В этом случае он выполняет директивы в первом наборе скобок и отображает сообщение «Файл или папка существует». Без файла или папки он выполняет блок «else» и печатает сообщение «Файл или папка не существует» на экране командной строки.
- Мы должны указать реальный путь к файлу или папке, которые вы хотите проверить. Этот скрипт может проверить, есть ли уже в системе необходимый файл или папка.
Используйте клавиши «Выполнить» (Window + R), чтобы открыть командную строку, и нажмите клавишу «Enter» после ввода «cmd», чтобы запустить пакетный сценарий в Windows. Далее перейдите в рабочий каталог, где находится файл «ExistsDir.bat». В настоящее время он находится на диске D. Нажмите «Ввод» после ввода полного имени командного файла. Если указанный каталог существует или нет, вывод отображается на экране следующим образом:
Заключение
Условные операторы в пакетных сценариях предлагают средства ограничения выполнения пакетного сценария и принятия решений в зависимости от заранее определенных критериев. Разработчики могут автоматизировать операции и сделать пакетные сценарии адаптивными ко многим сценариям, используя условные пакетные сценарии, что приводит к более гибким и надежным решениям.