Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Язык сценариев ОС






Командные файлы DOS

Командным (или пакетным — от batch) называется текстовый файл, имеющий расширение ВАТ, и содержащий последовательность команд и инструкций командного языка DOS. Командные файлы предназначены для упрощения выполнения часто используемых последовательностей команд. Пользователь получает, таким образом, возможность создания собственного интерфейса. Командные языки играют очень большую роль в таких мощных ОС, как UNIX.

PR1.BAT

D:

cd D: \ME\DOC D: \ME\ME386.EXE

Такой командный файл устанавливает текущий диск и текущий каталог и запускает текстовый редактор Multi Edit. Если создаваемые в нем файлы хранятся в каталоге D: \ME\DOC, то данный командный файл упростит процедуру открытия и сохранения файлов, поскольку по умолчанию эти операции осуществляются в текущем каталоге.

Командный язык DOS дает возможность параметризации командных файлов - использования в их теле переменных и установки их значений перед выполнением.

Такая возможность реализуется указанием в теле командного файла формальных параметров, которые заменяются фактическими параметра­ми при вызове командного файла. Формальные параметры могут иметь имена %'.1, %2,..., %9. Фактические параметры являются последовательно­стями символов, задаются в командной строке после имени пакетного фай­ла, отделяются от него и друг от друга пробелами.

Вызов

PR2.BAT INSTR.TXT

осуществит загрузку тестового редактора Multi Edit и открытие файла D: \ME\DOC\INSTR.TXT.

Рассмотрим инструкции командного языка DOS.

@ строка командного файла

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

ECHO [ON | OFF | сообщение]

Выводит сообщение, а также разрешает или запрещает вывод содержи­мого командных файлов. Команда ECHO OFF отменяет вывод командных строк до момента, пока не встретится команда ECHO ON.

REM комментарий

Эта команда не приводит к выполнению каких-либо действий, но позво­ляет включать в тело командного файла информацию для его документи­рования.

CALL файл [параметры]

Осуществляет вызов одного командного файла из другого с последую­щим возвратом в точку вызова. В случае аналогичного вызова, осуществ­ляемого путем простого указания имени командного файла, возврат в файл, из которого производился вызов, не произойдет.

PAUSE [сообщение]

Приостанавливает выполнение командного файла и выводит на экран сообщение. Эта команда используется для приостановки командного фай­ла перед выполнением критических операций или для выполнения пользо­вателем определенных действий. После текста сообщения на следующей строке будет выведено сообщение " Press any key to continue..." (" Для про­должение нажмите любую клавишу..."). PR3.BAT

©ECHO OFF

ECHO Установите дискету в привод А: ECHO и нажмите любую клавишу PAUSE > NUL

ECHO ON ■ •'•

COPY %1 A:

Приведенный командный файл осуществляет копирование файла, ука­занного в качестве параметра, на дискету в устройстве А:. При этом, для предотвращения случайного обращения к дисководу, в который не поме­щена дискета, перед выполнением копирования выполнение командногофайла приостанавливается и на экране появляется сообщение Установите дискету в привод А:

и нажмите любую клавишу

Вывод сообщения DOS " Press any key to continue..." подавляется пере­направлением вывода на фиктивное устройство. После нажатия клавиши выполняется операция копирования.

GOTO метка

Осуществляет переход к строке файла с указанной меткой. После вы­полнения этой команды выполнение командного файла продолжается со строки, текстуально следующей за строкой с заданной меткой. Метка пред­ставляет собой последовательность букв и цифр. Длина метки не ограни­чивается, но DOS учитывает первые 8 символов. Строка с меткой должна начинаться с символа:, непосредственно за которым указывается сама метка. Строки с метками часто используются не по прямому назначению, а для комментирования командного файла.

IF [NOT] условие команда

Команда IF позволяет выполнить или пропустить указанную в ней ко­манду в зависимости от содержащегося в ней условия. При отсутствии NOT команда будет выполняться, etmусловие истинно; при наличии NOT - если условие ложно.

Условие может быть задано одним из следующих способов: EXIST pattern истинно, если существует по крайней мере один файл со спецификацией шаблона pattern;

string] = =string2 истинно, если строки string! и string2, возможно, пос­ле замещения в них параметров, совпадают;

ERRORLEVEL п истинно, если последняя выполненная программа вы­дала код возврата не меньший, чем целое число п.

PR4.ВАТ

IF NOT EXIST C: \DOS\FORMAT.COM COPY D: \BACKUP\FORMAT.COM С: \DOS

В случае отсутствия файла FORMAT. COM в каталоге С: \DOS осуще­ствляется его копирование туда из каталога D: \BACKUP.

PR5, ВАТ

@Echo off: GOLDRUN

GOLDED.EXE

If ErrorLevel 101 Goto ERROR If ErrorLevel 100 Goto REBUILD

If ErrorLevel 007 Goto E_N_L If ErrorLevel 006 Goto E_N_ Goto NO_MAIL.•ERROR

Echo GoldED Error exit!

Goto END: REBUILD

Echo ERROR! The files needs rebuilding!

Pause

Goto GOLDRUN

: E_N_L

Echo New Echo, Net and Local mail entered!

Goto END

: E_N_L

Echo New Echo and Netmail entered!

Goto END

: NO_MAIL

Echo No new mail entered...

Goto END

: END

Echo Thank you for using GoldED!: -)

В приведенном примере анализируется код, возвращаемый програм­мой GOLDED. EXE, и в зависимости от его значения выполняются те или иные действия. Обратите внимание на возможность зацикливания команд­ного файла между метками GOLDRUN и REBUILD. Выход из этого цикла (и из командного файла вообще) может быть осуществлен нажатием клавиш Ctrl-Break во время приостановки выполнения файла командой PAUSE.

CHOICE [/С: варианты] [/N] [/S] [/Тс, пп] [текст]

Команда CHOICE используется для организации интерактивных коман­дных файлов. Она отображает на экране заданный текст и приглашение с вариантами ответа. После ввода ответа она генерирует код возврата, рав­ный порядковому номеру символа в приглашении, или 255 в случае воз­никновения какой-либо ошибки. Этот код возврата может быть проанали­зирован серией команд IF, в результате чего в командном файле будут организованы альтернативные ветви его выполнения. Допустимые пере­ключатели интерпретируются следующим образом:

/C: -варианты - сформировать приглашение из символов, образующих строку варианты и отобразить его вслед за аргументом текст. В качестве варианта выбора может фигурировать один алфавитно-цифровой символ.

По умолчанию предполагается наличие переключателя /С: YN. /N - не отображать приглашение на экране. / S - учитывать регистр символов.

/Tс, пп - ответ с выбирается автоматически после пп секунд ожидания. Число пп заключается в пределах от 1 до 99. PR5.ВАТ

@ЕСНО OFF

REM Запуск антивирусной программы ECHO Выберите антивирусную программу: ECHO M - Microsoft Anti-Virus ECHO A - Aidstest ECHO W - Doctor Web CHOICE /C: MAW /N IF ERRORLEVEL 25 5 GOTO ERROR IF ERRORLEVEL 3 GOTO DRWEB IF ERRORLEVEL 2 GOTO AIDSTEST C: \DOS\MSAV.EXE GOTO END: ERROR

ECHO Ошибка GOTO END: DRWEB

C: \DRWEB\DRWEB.EXE GOTO END: AIDSTEST

C: \UTIL\AIDSTEST.EXE: END

Данный командный файл позволяет осуществить запуск одной из про­грамм на выбор.

FOR %%параметр_цикла IN (список) DO команда

Данная команда служит для многократного выполнения команды с раз­личными значениями параметра цикла. Параметр цикла представляется единственным символом, отличным от цифры и знака %. Список пред­ставляет из себя наборы символов, разделенных пробелами или запятыми. В качестве элемента списка можно задать спецификацию шаблона файла, тогда остальные элементы списка игнорируются.

PR5.BAT

FOR %%D IN (C, D, E) DO DIR %%D: \

Выполнение командного файла приведет к выводу на экран содержи­мого корневых каталогов дисков С:, D:, Е:.

PR6.BAT

FOR %%F IN (*.PAS) DO CALL COMPILE.BAT %%F

Будет выполняться командный файл COMPILE. ВАТ для каждого файла

с расширением PAS из текущего каталога. Имя файла будет передаваться в

качестве аргумента.

SHIFT

При каждом выполнении команды SHIFT i-ый параметр командного файла (i= 1,..., 8) принимает значение i+1-го параметра, а параметр %9 связывается с первым слева из еще свободных аргументов. Команду SHIFT используют тогда, когда необходимо обработать неопределенное число фактических параметров или число таких параметров больше девяти.

 

 







© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.