![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Язык сценариев ОС
Командные файлы 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 используют тогда, когда необходимо обработать неопределенное число фактических параметров или число таких параметров больше девяти.
|