If

Обработка условий в пакетных программах.

Синтаксис

if [not] errorlevel число команда [else выражение] if [not] строка1==строка2 команда [else выражение] if [not] exist имя_файла команда [else выражение] Если расширения командного процессора разрешены, следует использовать следующий синтаксис: if [/i] строка1 оп_сравнения строка2 команда [else выражение] if cmdextversion число команда [else выражение] if defined переменная команда [else выражение]

Параметры

not
Задает выполнение команды только в случае невыполнения условия.
errorlevel число
Условие выполняется, если предыдущая команда, обработанная интерпретатором команд Cmd.exe, завершилась с кодом, равным или большим числа.
команда
Команда, которая должна быть обработана в случае выполнения условия.
строка1==строка2
Условие выполняется, если строки строка1 и строка2 совпадают. Строки могут быть заданы явно или могут быть пакетными переменными (например, %1). Явно заданные строки нет необходимости заключать в кавычки.
exist имя_файла
Условие выполняется, если существует файл с именем имя_файла.
оп_сравнения
Трехзначный оператор сравнения. В следующей таблице перечислены допустимые значения оп_сравнения.
Оператор Описание
EQU равно
NEQ не равно
LSS меньше
LEQ меньше или равно
GTR больше
GEQ больше или равно
/i
Сравнение строк без учета регистра знаков. Параметр /i можно использовать в конструкции string1==string2 команды if. Эти сравнения являются общими. Если и строка1, и строка2 состоят из цифр, строки преобразовываются в числа и выполняется сравнение чисел.
cmdextversion число
Условие выполняется, только если номер внутренней версии, связанный с расширениями командного процессора Cmd.exe, равен или больше числа. первая версия имела номер 1. Номер версии увеличивается на 1 при внесении в расширения командного процессора значительных изменений. Условие с cmdextversion не выполняется, если расширения командного процессора запрещены (по умолчанию они разрешены).
defined переменная
Условие выполняется, если переменная определена.
выражение
Команда и все ее параметры для обработке в командной строке при выполнении оператора else.
/?
Отображение справки в командной строке.

Заметки

Примеры

Если файл 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

Форматирование

Формат Значение
Курсив Данные, которые должен ввести пользователь
Полужирный шрифт Элементы, которые следует вводить точно, как показано
Пропуск (...) Параметры могут повторяться несколько раз в командной строке
В квадратных скобках ([]) Необязательные элементы
В фигурных скобках ({}); варианты разделены вертикальной чертой (|). Пример: {четные|нечетные} Набор значений, из которого можно выбрать только одно значение
Шрифт Courier Текст кода или выхода программы
.
Made with and Material Bootstrap. Alex_P 2015-2025