Windows scripting else if

Batch Script — If/else Statement

The next decision making statement is the If/else statement. Following is the general form of this statement.

The general working of this statement is that first a condition is evaluated in the ‘if’ statement. If the condition is true, it then executes the statements thereafter and stops before the else condition and exits out of the loop. If the condition is false, it then executes the statements in the else statement block and then exits the loop. The following diagram shows the flow of the ‘if’ statement.

Checking Variables

Just like the ‘if’ statement in Batch Script, the if-else can also be used for checking variables which are set in Batch Script itself. The evaluation of the ‘if’ statement can be done for both strings and numbers.

Checking Integer Variables

The following example shows how the ‘if’ statement can be used for numbers.

The key thing to note about the above program is −

Each ‘if else’ code is placed in the brackets (). If the brackets are not placed to separate the code for the ‘if and else’ code, then the statements would not be valid proper if else statements.

In the first ‘if else’ statement, the if condition would evaluate to true.

In the second ‘if else’ statement, the else condition will be executed since the criteria would be evaluated to false.

The above command produces the following output.

Checking String Variables

The same example can be repeated for strings. The following example shows how the ‘if else’ statement can be used to strings.

The key thing to note about the above program is −

The first ‘if’ statement checks if the value of the variable str1 contains the string “String1”. If so, then it echo’s a string to the command prompt.

Since the condition of the second ‘if’ statement evaluates to false, the echo part of the statement will not be executed.

The above command produces the following output.

Checking Command Line Arguments

The ‘if else’ statement can also be used for checking of command line arguments. The following example show how the ‘if’ statement can be used to check for the values of the command line arguments.

If the above code is saved in a file called test.bat and the program is executed as

Following will be the output of the above program.

if defined

A special case for the ‘if’ statement is the «if defined», which is used to test for the existence of a variable. Following is the general syntax of the statement.

Following is an example of how the ‘if defined’ statement can be used.

The above command produces the following output.

if exists

Another special case for the ‘if’ statement is the «if exists «, which is used to test for the existence of a file. Following is the general syntax of the statement.

Following is an example of how the ‘if exists’ statement can be used.

Let’s assume that there is a file called set2.txt in the C drive and that there is no file called set3.txt. Then, following will be the output of the above code.

Windows scripting else if

Вот мы и добрались до второго урока по VBScript (vbs). В этом уроке я расскажу про условный оператор if … else а так же про оператор выбора select … case. Это два очень полезных оператора без которых почти не обойтись при создании сценария vbs. Они позволяют выполнять определённые выражения при соблюдении определённого условия.

Читайте также:  Windows media centre edition 2005 rus

Вступление

В этом уроке мы пройдём:

  • Все виды конструкций условных операторов if … else
  • Логические операторы And, Not, Or, Xor, Imp, Eqv
  • Оператор выбора select … case
  • Совместное использование операторов

Порой зачастую нам нужно задать логику сценарию. Сделать так, что если а = 10, то сделать это, а ели число другое, то сделать вот это. В таких ситуациях нам на помощь приходят эти операторы vbs.

Условный оператор if … else

Существуют три конструкции условного оператора if … else. Всё будет зависеть от требуемой сложности и задачи сценария VBScript.

if then end if — Самый простой пример условия в сценарии vbs. После ключевого слова if идёт проверка условия. Если это условие соблюдается (истина по другому True), то выполняется выражение написанная после ключевого слова then. Если же условие не выполняется(ложь по другому False), то ничего не происходит.

if then else end if — Это уже более сложная и функциональная конструкция условного оператора vbs. Тут всё как и первом примере, но если условие не совпадает, то выполняется выражение после ключевого слова else.

if then elseif then ….. end if — уже более сложная конструкция. Тут уже при не выполнение условия (ложь) происходит ещё одна проверка условия и если оно совпадает, то выполняется выражение следуемая после второго ключевого слова Then. И так можно до бесконечности, что, конечно же очень удобно.

Так же нужно отметить что последние две конструкции условного оператора должны закрываться End if, в противном случае вылезет ошибка.

Теперь закрепим это примером:

Как мы видим, в одну строку нам удастся прописать только условие первой конструкции. Если мы попытаемся прописать в одну строку другие два условия, то у нас выдаст ошибку. Для своего удобства я делаю отступ выражения Tab’ом. Так же можно прописывать несколько строк выражения.

Логические операторы And, Not, Or, Xor, Imp, Eqv

Так же в помощь условным операторам созданы логические операторы:

  • And — И. Оба условия должны быть верными — правдой (True)
  • Not — Отрицание. Условие должно быть ложным (False). При этом считается что условие выполняется (True)
  • Or — Или. Хотя бы одно из условий должно быть правдой (True)
  • Xor — Логическое исключение. Возвращает True (правда), если одно из условий False (Не правда)
  • Imp — импликация. Если первое условие правда (True), а второе ложь (False), то это условие в целом считается ложью (False). Во всех остальных случаях условие правда (True).
  • Eqv — эквивалентность двух выражений. Если два элемента одинаковы (True или False), то результат True

Думаю они очень понятны и пример ниже не нуждается в объяснение:

Условный оператор выбора select … case

Теперь давайте разберём всё про условный оператор выбора select … case. Этот оператор может проверить переменную на соответствии с предполагаемыми значениями или переменными.

Структура довольно проста:

Select case
case

case

……….
case else

End Select

По сути то же самое что и с if … else, но в данном случае немного урезан функционал оператора, а именно количество переменных которые мы можем проверить одновременно. End Select закрывает условие.

Теперь закрепим это примером:

Думаю с данным примером всё понятно и объяснять ничего не надо. Функцию MsgBox Вы можете вызывать в теле оператора, как и в первом примере. Заместо предпологаемого значения Вы можете поставить переменную («case a» вместо «case 10»).

Совместное использование операторов

Язык VBScript позволяет нам использовать условные операторы совместно друг с другом, применяя их даже в своём теле. Думаю, наглядней будет посмотреть пример:

Тут Вы можете поэкспериментировать со значениями переменной «a».

Вот и подошёл к концу второй урок по языку VBScript (vbs). Надеюсь, он оказался полезен и интересен Вам. До новых встреч на VBHack.Ru

Читайте также:  Не появляется окно авторизации windows 10

15 comments

День добрый,
есть один вопрос, как сделать чтобы кнопки или окошки выводили текст на русском языке?
В вашем первом примере это «b не равно 10» и «ура!», а то у меня получаются крокозябрики какие-то.
С английским проблем нет, пишу «b not equal 10» выводится корректно.
спасибо за помощь.

Для этого установите кодировку текста как Юникод.

Условное ветвление: if, ‘?’

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

Для этого мы можем использовать инструкцию if и условный оператор ? , который также называют оператором «вопросительный знак».

Инструкция «if»

Инструкция if(. ) вычисляет условие в скобках и, если результат true , то выполняет блок кода.

В примере выше, условие – это простая проверка на равенство ( year == 2015 ), но оно может быть и гораздо более сложным.

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

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

Преобразование к логическому типу

Инструкция if (…) вычисляет выражение в скобках и преобразует результат к логическому типу.

Давайте вспомним правила преобразования типов из главы Преобразование типов:

  • Число 0 , пустая строка «» , null , undefined и NaN становятся false . Из-за этого их называют «ложными» («falsy») значениями.
  • Остальные значения становятся true , поэтому их называют «правдивыми» («truthy»).

Таким образом, код при таком условии никогда не выполнится:

…а при таком – выполнится всегда:

Мы также можем передать заранее вычисленное в переменной логическое значение в if , например так:

Блок «else»

Инструкция if может содержать необязательный блок «else» («иначе»). Он выполняется, когда условие ложно.

Несколько условий: «else if»

Иногда, нужно проверить несколько вариантов условия. Для этого используется блок else if .

В приведённом выше коде JavaScript сначала проверит year . Если это неверно, он переходит к следующему условию year > 2015 . Если оно тоже ложно, тогда сработает последний alert .

Блоков else if может быть и больше. Присутствие блока else не является обязательным.

Условный оператор „?“

Иногда нам нужно определить переменную в зависимости от условия.

Так называемый «условный» оператор «вопросительный знак» позволяет нам сделать это более коротким и простым способом.

Оператор представлен знаком вопроса ? . Его также называют «тернарный», так как этот оператор, единственный в своём роде, имеет три аргумента.

Сначала вычисляется условие : если оно истинно, тогда возвращается значение1 , в противном случае – значение2 .

Технически, мы можем опустить круглые скобки вокруг age > 18 . Оператор вопросительного знака имеет низкий приоритет, поэтому он выполняется после сравнения > .

Этот пример будет делать то же самое, что и предыдущий:

Но скобки делают код более читабельным, поэтому мы рекомендуем их использовать.

В примере выше вы можете избежать использования оператора вопросительного знака ? , т.к. сравнение само по себе уже возвращает true/false :

Несколько операторов „?“

Последовательность операторов вопросительного знака ? позволяет вернуть значение, которое зависит от более чем одного условия.

Поначалу может быть сложно понять, что происходит. Но при ближайшем рассмотрении мы видим, что это обычная последовательная проверка:

  1. Первый знак вопроса проверяет age .
  2. Если верно – возвращает ‘Здравствуй, малыш!’ . В противном случае, проверяет выражение после двоеточия „»:»“, вычисляет age .
  3. Если это верно – возвращает ‘Привет!’ . В противном случае, проверяет выражение после следующего двоеточия „»:»“, вычисляет age .
  4. Если это верно – возвращает ‘Здравствуйте!’ . В противном случае, возвращает выражение после последнего двоеточия – ‘Какой необычный возраст!’ .

Вот как это выглядит при использовании if..else :

Нетрадиционное использование „?“

Иногда оператор «вопросительный знак» ? используется в качестве замены if :

В зависимости от условия company == ‘Netscape’ , будет выполнена либо первая, либо вторая часть после ? .

Здесь мы не присваиваем результат переменной. Вместо этого мы выполняем различный код в зависимости от условия.

Не рекомендуется использовать оператор вопросительного знака таким образом.

Несмотря на то, что такая запись короче, чем эквивалентная инструкция if , она менее читабельна.

Читайте также:  Как выделить java больше оперативной памяти windows 10

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

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

Смысл оператора «вопросительный знак» ? – вернуть то или иное значение, в зависимости от условия. Пожалуйста, используйте его именно для этого. Когда вам нужно выполнить разные ветви кода – используйте if .

Урок 5 по CMD — условный оператор if

В этой статье мы рассмотрим условный оператор if командной строки (CMD). Как и в любом другом языке программирования, условные оператор служит для проверки заданного условия и в зависимости от результат, выполнять то, или иное действие.

Условный оператор cmd if содержит практически тот же синтаксис, что и аналогичные конструкции языков VBScript (смотри статью “Урок 5 по VBScript: Условный оператор if. else и select. case”) и Jscript (статья “Урок 8 по JScript: Описание условного оператора if. else, арифметических и логических операторов”) сервера сценариев Windows Script Host.

Оператор if командная строка

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

Вначале идет проверка условия, если оно выполняется, идет переход к выполнению оператора1, если нет – к оператору2. Если после ключевого слова if прописать not (if not), то: произойдет проверка условия, если оно не выполниться – переход к оператору1, если условие выполняется – переход к оператору2. Использование круглых скобок не является обязательным, но если вам нужно после проверки условия выполнить сразу несколько операторов cmd if, то круглые скобки необходимы.

Давайте откроем редактор notepad++ и пропишем в нем такой код:

Как я уже сказал, мы можем использовать не один оператор (командной строки) cmd if, а несколько, посмотрите на данный пример:

Тут, как и прежде идет проверка передаваемого сценарию параметра, если значение равно 1, то произойдет последовательное выполнение трех команд:

  • hostname – выводит имя компьютера
  • ver – выводит версию ОС
  • ipconfig /all – выводит настройки сети

Для последовательного выполнения команд мы использовали знак конкатенации (объединения) “&”. При невыполнении условия произойдет вызов утилиты netstat.

Что бы проверить существование переменной, используются операторы if defined (если переменная существует) и if not defined (если переменная не существует):

Если вы запустите на выполнение данный код, то в окне командной строки будут выведены две строки:

100
NOT EXIST. Var1

Вначале, в сценарии происходит создание переменной Var1 и присвоение ей значения 100, далее идет проверка: если переменная Var1 существует, вывести ее значение. Потом мы удаляем переменную и снова запускаем проверку: если переменная Var1 не существует, вывести строку NOT EXIST. Var1.

Мы вправе использовать условный оператор if как вложенный:

В данном примере, первый оператор командной строки if проверяет, равен ли первый аргумент 1, если да, то идет выполнение второго условно оператора и проверка на значение другого аргумента.

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

Давайте теперь посмотрим на такой пример:

Тут идет проверка первого аргумента, и регистр строки учитывается, что бы отключить учет регистра при проверке строк, после оператора if нужно прописать ключ /I:

В данном случае, передадим мы строку SLOVO, slovo, SloVo и так далее, все ровно на экран консоли выведется строка “slovo”, так как учет регистра знаков будет отключен.

Оператор if командная строка, операторы сравнения

Кроме оператора сравнения “==” можно использовать и другие операторы для проверки условия:

  • equ «Равно». Дает True, если значения равны
  • neq «Не равно». Дает True, если значения не равны
  • lss «Меньше». Дает True, если зпачение1 меньше, чем значение2
  • lcq «Меньше или равно». Дает True, если значепие1 равно или меньше, чемзначение2
  • gtr «Больше». Дает True, если значение1 больше, чем значение2
  • geq «Больше или равно». Дает True, если значепие1 равно или больше, чем значение2

В этой статье мы рассмотрели условный оператор командной строки if.

Спасибо за внимание. Автор блога Владимир Баталий

Оцените статью