Рекомендуется: операторы «If» и «If Else» для пакетного файла: как использовать условные операторы в пакетных сценариях

Rekomenduetsa Operatory If I If Else Dla Paketnogo Fajla Kak Ispol Zovat Uslovnye Operatory V Paketnyh Scenariah



В пакетных сценариях условные операторы, чаще всего называемые операторами «if» и «else», используются для определения того, какие команды выполнять на основе результатов условия. Использование условных операторов в пакетном сценарии позволяет разработчикам создавать логику принятия решений в зависимости от результата выполнения условий.

Заявление «ЕСЛИ»

Общий синтаксис написания условного оператора или оператора «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%' (
    эхо файл или папка существует.
) еще (
    эхо файл или папка не существует.
)

Предыдущий скрипт определяет следующее:

  1. Чтобы установить путь к целевому файлу или папке, во второй строке пакетного сценария указывается переменная «folder_Path». После этого эта переменная используется в условном операторе.
  2. Чтобы убедиться, что предоставленный файл или папка находится в этом месте, используйте условный оператор, которым в данном случае является оператор «if».
  3. В этом случае он выполняет директивы в первом наборе скобок и отображает сообщение «Файл или папка существует». Без файла или папки он выполняет блок «else» и печатает сообщение «Файл или папка не существует» на экране командной строки.
  4. Мы должны указать реальный путь к файлу или папке, которые вы хотите проверить. Этот скрипт может проверить, есть ли уже в системе необходимый файл или папка.

Используйте клавиши «Выполнить» (Window + R), чтобы открыть командную строку, и нажмите клавишу «Enter» после ввода «cmd», чтобы запустить пакетный сценарий в Windows. Далее перейдите в рабочий каталог, где находится файл «ExistsDir.bat». В настоящее время он находится на диске D. Нажмите «Ввод» после ввода полного имени командного файла. Если указанный каталог существует или нет, вывод отображается на экране следующим образом:

Заключение

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