Реализация ветвления по условию 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Реализация ветвления по условию



Ветвление по условию позволяет организовать команда if, синтаксис которой приведен ниже:

if [not] условие (оператор1) [else (оператор2)]

Оператор1 и оператор2 могут быть одной командой или несколькими объединенными в цепочку, конвейер или группу. Условие – это любое выражение, возвращающее булево значение Истина или Ложь.

Команда работает так: если условие возвращает Истина, выполняется Оператор1. В противном случае выполняется Оператор2, если он указан.

Пример.

if %OS%==”Windows_NT ” echo “Windows NT” else echo “Not Windows NT”

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

if not errorlevel 0 (echo Обнаружена ошибка) & (exit)

Для проверки наличия переменных используется команда if [not] defined.

Пример.

if defined kolServers (echo Количество серверов: % kolServers %)

Если переменная kolServers задана, то в вывод заносится информация о количестве серверов, в противном случае сценарий переходит к следующей команде.

Реализация безусловного перехода

Этот способ передачи управления обычно используется, когда требуется не выполнять достаточно большой фрагмент сценария или организовать бесконечный цикл.  

Передача управления выполняется командой goto, параметром которой является метка, на которую нужно выполнить переход. Чтобы создать метку нужно на отдельной строке ввести двоеточие и имя метки. После передачи управления командой goto выполнение сценария продолжается с команды, следующей за указанной меткой.

Пример создания бесконечного цикла

:start

Goto start

Пример обхода фрагмента сценария

Goto start

: start

Вложенность сценариев

Иногда, при выполнении пакетного файла, возникает необходимость запустить другой пакетный файл. Причем, в некоторых случаях, выполнение основного пакетного файла должно быть приостановлено, пока выполняется вспомогательный файл, а в других вспомогательный файл должен работать вместо основного.

Для примера создадим два bat-файла. Один с именем 1.bat, содержащий следующие команды

Во второй файл с именем 2.bat поместим команды

Теперь запустим файл 1.bat. В результате на экране появится последовательность сообщений, представленная на рисунке 13.

Рис. 13. Результат выполнения файла 1.bat при использовании команды call.

 

Таким образом, вызов из одного пакетного файла другого при помощи команды call останавливает исполнение пакетного файла до тех пор, пока не завершится выполнение пакетного файла, вызванного командой call. При этом после завершения вызываемого файла управление возвращается в исходный файл на команду, непосредственно следующую за командой call.

Теперь изменим файл 1.bat, заменив команду call простым указанием имени файла 2.bat:

Снова запустим файл 1.bat на выполнение и получим результат, представленный на рисунке 14.

Рис. 14. Результат выполнения файла 1.bat при отсутствии команды call.

Из изображения видно, что возврата в исходный файл в этом случае не произошло.



Поделиться:


Последнее изменение этой страницы: 2021-12-07; просмотров: 27; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.219.63.90 (0.004 с.)