Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР2_Работа с командной строкой, создание пакетн...doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
209.92 Кб
Скачать

Примечания

%errorlevel% замещается строковым представлением текущего значения errorlevel, если только уже не существует переменная среды с именем ERRORLEVEL. В этом случае будет использовано ее значение. Приведенный ниже пример иллюстрирует использование errorlevel после запуска программы:

goto answer%erorlevel%

:answer0

echo Код возврата программы равен 0

:answer1

echo Код возврата программы равен 1

Также можно использовать операторы сравнения, перечисленные выше в описании параметра оп_сравнения:

if %errorlevel% LEQ 1 goto okay

%cmdcmdline% замещается исходной командной строкой, переданной в Cmd.exe, до ее обработки в Cmd.exe, если только уже не существует переменная среды с именем cmdcmdline. В этом случае будет использовано ее значение.

%cmdextversion% замещается строковым представлением текущего значения cmdextversion, если только уже не существует переменная среды с именем CMDEXTVERSION. В этом случае будет использовано ее значение.

Примеры

Использование команды if для проверки наличия файла:

if not exist product.dat echo Не найден файл данных

Использование if для выдачи сообщения при возникновении ошибки при форматировании диска A:

:begin

@echo off

format a: /s

if not errorlevel 1 goto end

echo Ошибка во время форматирования диска.

:end

echo Конец пакетной программы.

Если ошибки не обнаружены, сообщение об ошибке пропускается.

Использование команды if для проверки наличия каталога

if exist c:mydir\nul goto process

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

Использование предложения else:

Предложение else должно размещаться в той же строке, что и команда if. Например:

IF EXIST filename. (

del filename.

) ELSE (

echo filename. отсутствует.

)

Приведенные ниже примеры не будут работать:

  • IF EXIST filename. del filename. ELSE echo filename. Отсутствует

  • IF EXIST filename. del filename.

ELSE echo filename. отсутствует

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

IF EXIST filename. (del filename.) ELSE echo filename. отсутствует

For

Запуск некоторой команды для каждого файла из заданного множества.

Команда for может быть использована в пакетной программе или непосредственно из командной строки.

В пакетных файлах используется следующая форма команды for:

for %%переменная in (множество) do команда [параметры_команды]

Для использования for из командной строки используется следующая форма команды:

for %переменная in (множество) do команда [параметры_команды]

Параметр

Описание

%%переменная или %переменная

Замещаемый параметр.

В команде for переменная %%переменная (или %переменная) будет заменяться текстовой строкой из заданного множества, пока команда (с указанными параметрами_команды) не обработает все файлы этого множества. Используйте %%переменная для выполнения команды for в пакетной программе. Используйте %переменная для выполнения команды for из командной строки. Имена переменных вводятся с учетом регистра.

(множество)

Задает один или более файлов или текстовых строк, подлежащих обработке заданной командой. Скобки являются обязательными.

команда

Задает команду, которая будет выполнена для каждого файла из множества.

параметры_команды

Задает параметры и ключи для вызываемой команды (если команда использует параметры или ключи).

Дополнительные формы команды for