вторник, 19 ноября 2013 г.

Использование логических операций И ИЛИ (AND OR) в скриптах командного процессора CMD

При написании bat-ников часто появляется необходимость использовать логические операции И и ИЛИ в условиях IF и т.д. К сожалению, разработчики не заложили такой синтаксис в командный процессор. Но данный функционал можно успешно заменить следующими наборами команд:

1. Логическое И (AND):

IF a&&b&&c


@echo off
set a="1"
set b="1"
set c="0"
echo %a%
echo %b%
echo %c%
if %a%=="1" (
if %b%=="1" (
if %c%=="1" (
echo "TRUE a&&b&&c"
goto END
)))
echo "FALSE a&&b&&c"
:END
pause


2. Логическое ИЛИ (OR):

IF a||b||c


@echo off
set a="0"
set b="0"
set c="1"
echo %a%
echo %b%
echo %c%
if not %a%=="1" (
if not %b%=="1" (
if not %c%=="1" (
echo "FALSE a||b||c"
goto END
)))
echo "TRUE a||b||c"
:END
pause


В зависимости от заданных в начале значений переменных "a","b" и "c" вы будете попадать в блоки "TRUE" или "FALSE" в соответствии с выполнением той или иной логической операции.

1 комментарий:

  1. А если мне предположим нужно в цикле для определённых значений переменной прописать условия к примеру: если i > 2 и i < 5 выводить её, а иначе ничего не делать, как в таком случае быть

    ОтветитьУдалить