Довідка по команді 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 повинен розміщуватися в тому ж рядку, що і команда 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
Для питань, обговорень, зауважень, пропозицій і т. П. Можете використовувати розділ форуму цього сайту (потрібна реєстрація).