Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаб3 операц сист.doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
240.64 Кб
Скачать

Примеры

Следующий пример представляет собой пакетный файл, выводящий сообщение из трех строк на экран с пустыми строками до и после него:

echo off echo. echo Эта пакетная программа echo форматирует и проверяет echo новые диски echo.

Если требуется отключить режим отображения команд и при этом не выводить на экран строку самой команды echo, следует использовать знак @ перед командой, как показано ниже:

@echo off

Оператор if и команда echo могут быть использованы вместе в пакетной программе:

if exist *.rpt echo Отчет получен.

If

Обработка условий в пакетных программах. Если условие, заданное в команде if выполняется, будет выполнена команда, следующая за условием. Если условие не выполняется, Windows 2000 игнорирует команду в предложении if и выполняет команду в предложении else, если оно указано.

Типы условий:

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, сравнение строк производится без учета различия строчных и прописных букв. Ключ /i также может быть использован в форме строка1==строка2 команды if. Эти сравнения являются общими. Если и строка1, и строка2 состоят из цифр, строки преобразовываются в числа и выполняется сравнение чисел.

cmdextversion число

Условие с cmdextversion действует аналогично errorlevel, но производит сравнение с внутренним номером версии расширения командного процессора Cmd.exe. Первая версия имеет номер 1. Номер будет увеличиваться на единицу при внесении существенных дополнений в расширения команд. Условие с cmdextversion не выполняется, если расширения командного процессора запрещены.

defined переменная

Условие с defined действует аналогично exist, но является истинным, когда определена указанная переменная среды. Это условие добавляет три переменные: %errorlevel%, %cmdcmdline% и %cmdextversion%.

выражение

В предложении else выражение состоит из команды Windows 2000 и любых параметров этой команды.