Студопедия

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

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

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






Команды MS DOS для работы с дисками. Командные файлы MS DOS.






Транзитные команды

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

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

Стандартно составленные утилиты, при запуске с ключом /? или /Help сообщают правильный вид запуска (список параметров).

Для удобства определения номера версии ОС к которой относится данная утилита, ее время создания часто записывается в виде номера версии (часы) и номера модификации (минуты).

К командам расширенного языка MS DOS относятся средства написания так называемых " командных файлов". Следует отметить, что командный процессор различает три вида наборов данных по расширениям их имен. Стандартными для DOS являются расширения:

.exe – для файлов с оттранслированными программами (в машинных кодах);

.com – для файлов с программами в машинных кодах, организованных специальным образом, длинной не более страницы памяти (64 Кбайт), и содержащих обычно служебные программы самой DOS;

.bat – для текстовых файлов, содержащих цепочки команд для самого командного процессора – командные файлы.

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

Для использования в командных файлах формальных параметров их записывают в виде %1, %2 и т.д. При запуске на выполнение командного файла указывается его имя, за которым через пробелы перечисляются фактические параметры (обычно имена наборов данных), над которыми выполняются записанные в файле команды, причем выдерживается строгое соответствие – первый параметр подставляется на место %1, второй – на место %2 и так далее.

В качестве команд используемых только в командных файлах отметим команды:

ECHO – вывод строки на экран; PAUSE – ожидание нажатия какой-либо клавиши; REM – комментарий в командном файле; GOTO – переход на метку; IF – проверка условия для организации ветвления; FOR – управление повторного выполнения команд (цикл); SHIFT – сдвиг списка формальных параметров. Ниже приведены более подробные описания некоторых из этих команд.

ECHO off – последующие строки не будут отображаться на дисплее при выполнении командного файла.

ECHO on – последующие строки будут отображаться на дисплее при выполнении командного файла.

@ ECHO off – эта и последующие строки не будут отображаться на дисплее при выполнении командного файла.

ECHO Включите принтер! – на экране появится сообщение:

Включите принтер!

REM Этот командный файл запускать только по пятницам.

Пример использование команды GOTO имеет смысл вместе с условием IF (см. ниже).

Команда IF имеет три модификации по виду проверяемого условия

1. Проверка кода завершения какой-либо программы

IF ERRORLEVEL < N> – проверяется код завершения последней программы. Если он больше или равен числу N, условие считается выполненным (истинным).

2. Проверка наличия файла

IF EXIST < имя файла или шаблон> – если существует файл с указанным именем, условие считается истинным.

3. Сравнение двух строк на совпадение (обычно одна задается формальным параметром)

IF %< N> = = < текстовая строка> – если строки посимвольно совпадают полностью, условие считается истинным.

Пример печати причины завершения задачи Program.exe по ее коду завершения (код должен быть сформирован внутри задачи), оформленный командным файлом Result.bat.

Program.exe

If Errorlevel 4 Goto M4

If Errorlevel 3 Goto M3

If Errorlevel 2 Goto M2

If Errorlevel 1 Goto M1

If Errorlevel 0 Goto OK

Echo Неизвестная ошибка в программе

Goto End

: M1

Echo Ошибка по недопустимой операции с плавающей точкой

Goto End

: M2

Echo Ошибка по переполнению операции с фиксированной точкой

Goto End

: M3

Echo Ошибка по отсутствию данных

Goto End

: M4

Echo Ошибка по защите памяти

Goto End

: OK

Программа закончилась без ошибок

: End

Пример организации цикла. Пусть надо часто копировать файлы с именами PROG.C, PROG.OBJ и PROG.EXE из текущего каталога на дискету A: или B: (по заказу пользователя). Тогда командный файл Save.bat может содержать:

For %%A in (C, OBJ, EXE) Do Copy PROG.%%A %1:

А его вызов для копирования на диск B будет иметь вид:

Save b

Команда SHIFT вызывает сдвиг списка формальных параметров относительно списка фактических параметров (каждое использование – на 1 параметр). Например, для копирования в каталог ARCHIV диска E: произвольного перечня файлов, можно составить командный файл CopyArc.Bat следующего содержания:

ECHO OFF

: Loop

Copy %1 E: \ARCHIV

SHIFT

GOTO Loop

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

CopyArc File1.txt Prog2.c Prog1.doc MyProg.exe

(При этом командный файл закончится сообщением об ошибке после копирования 4-го файла.)






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