Довідка по команді if і її параметрам

більше або дорівнює

/ I Порівняння рядків без урахування регістру знаків. Параметр / i можна використовувати в конструкції string1 == string2 команди if. Ці порівняння є загальними. Якщо і рядок1. і строка2 складаються з цифр, рядки перетворюються в числа і виконується порівняння чисел. cmdextversionчісло Умова виконується, тільки якщо номер внутрішньої версії, пов'язаний з розширеннями командного процесора Cmd.exe, дорівнює або більше числа. перша версія мала номер 1. Номер версії збільшується на 1 при внесенні в розширення командного процесора значних змін. Умова з cmdextversion не виконується, якщо розширення командного процесора заборонені (за замовчуванням вони дозволені). definedпеременная Умова виконується, якщо змінна визначена. вираз Команда і всі її параметри для обробки в командному рядку при виконанні оператора else. /? Відображення довідки в командному рядку.

  • Якщо умова, заданий в команді if. виконується, буде виконана команда, наступна за умовою. Якщо умова не виконується, команда, задана в операторі if. пропускається, а управління переходить до команди оператора else. якщо вона задана.
  • Коли програма завершується, вона повертає код завершення. За допомогою параметра errorlevel коди завершення можна використовувати в якості умов.
  • Використання команди definedпеременная

При використанні команди definedпеременная додаються наступні три змінні:% errorlevel%. % Cmdcmdline% і% cmdextversion%.

% Errorlevel% заміщається строковим поданням поточного значення errorlevel. якщо тільки вже не існує змінна середовища з ім'ям ERRORLEVEL. У цьому випадку буде використано її значення. У наступному прикладі показано використання значення errorlevel після виконання пакетної програми:

goto answer% errorlevel%
: answer0
echo Код повернення програми дорівнює 0
: answer1
echo Код повернення програми дорівнює 1
goto end
: end
echo Готово!

Оператори порівняння оп_сравненія також можна використовувати наступним чином:

% Cmdcmdline% заміщається вихідної командним рядком, переданої Cmd.exe, до її обробки в Cmd.exe, якщо тільки вже не існує змінна середовища з ім'ям cmdcmdline. У цьому випадку буде використано значення cmdcmdline.

% Cmdextversion% заміщається строковим поданням поточного значення cmdextversion. якщо тільки вже не існує змінна середовища з ім'ям CMDEXTVERSION. У цьому випадку буде використано її значення.

  • Використання оператора else

    Оператор else повинен розміщуватися в тому ж рядку, що і команда if. приклад:

    Наведений нижче приклад не буде працювати, оскільки команда del повинна закінчуватися новим рядком:

    IF EXIST имя_файла. del имя_файла. ELSE echo ім'я_файлу. Відсутнє

    Наведений нижче приклад не буде працювати, оскільки команда else повинна знаходитися в тій же рядку, що і команда if.

    Якщо необхідно розмістити всю інструкцію в одному рядку, можна використовувати наступну правильну форму вихідної інструкції:

    IF EXIST имя_файла (del имя_файла) ELSE echo имя_файла відсутня

    Якщо файл Product.dat не вдається знайти, з'явиться наступне повідомлення:

    if not exist product.dat echo Не вдалося знайти файл даних

    Якщо в наведеному нижче прикладі при форматуванні диска в дисководі A виникне помилка, буде виведено повідомлення про помилку:

    begin
    @echo off
    format a: / s
    if not errorlevel 1 goto end
    echo Помилка при форматуванні.
    : end
    echo Кінець пакетної програми.

    Якщо помилка не виникне, повідомлення про помилку виведено не буде.

    Команда if не може бути використана безпосередньо для перевірки існування каталогу, але в кожному каталозі існує пристрій (NUL). Отже, існування каталогу може бути перевірено, як показано нижче. У наступному прикладі перевіряється наявність каталогу:

    if exist c: mydir \ nul goto process

    Для питань, обговорень, зауважень, пропозицій і т. П. Можете використовувати розділ форуму цього сайту (потрібна реєстрація).