|
Командные BAT-файлы - если необходимо часто использовать какую-либо последовательность команд, особенно если она достаточно велика, то лучше создать т.н. командный файл.
|
Командные bat-файлы
Работать в мониторе командной строки, как уже говорилось выше,
хорошо, если команду нужно вызвать один - два раза. Если же Вам
необходимо часто использовать какую-либо последовательность команд,
особенно если она достаточно велика, то лучше создать т. н. командный
файл, который позволит запускать эти команды неограниченное количество
раз.
Командные файлы в системе IS-DOS представляют собой специальные
текстовые файлы с расширением bat. B этих файлах содержатся тексты
команд, которые необходимо выполнить. Формат задания команд в файлах
такой же, как и в мониторе командной строки - по сути каждая строка
bat-файла - это обычная командная строка.
Интерпретацией bat-файлов в системе IS-DOS занимается специальная
программа, которая называется exebat.com и располагается в каталоге
SHELL. Она считывает из файла очередную строку и помещает ее в
специально отведенную область памяти, где ей уже занимается
интерпретатор командной строки системы.
Командные файлы могут быть вложенными, т. е. один командный файл
может вызывать другой командный файл. Максимальная глубина вложения
составляет 120 файлов. По окончании отработки каждого из вложенных
файлов управление передается вызвавшему его файлу.
Работу вложенных командных bat-файлов проще всего представить на
конкретном примере, изобразив графически последовательность исполнения
команд.
Например, если у нас в каталоге SHELL есть четыре вот таких bat-
файла:
[main.bat]
Q:UTILeliminat /r
g:SHELLexebat Q:SHELLchecksum.bat
Q:SHELLexebat Q:SHELLrestres.bat
[checksum.bat]
Q:RESset Q:RESuniv.res
Q:RESset Q:REScalc.res
Q:RESset Q:RESuniv.res /e
Q:RESset Q:REScalc.res /e
[restres.bat]
CAT Q:RES
set gmen.res
set mkdir.res
set date+3.res
ebat Q:SHELLsetmon.bat
[setmon.bat]
set mon.res
set indi.res
то последовательность команд при их выполнении будет следующей:
[начало работы main.bat]
Q:UTILeliminat /r
[начало работы checksum.bat]
Q:RESset Q:RESuniv.res
Q:RESset Q:REScalc.res
Q:RESset Q:RESuniv.res /e
Q:RESset Q:REScalc.res /e
[конец работы checksum.bat]
[начало работы restres.bat]
CAT Q:RES
set gmen.res
set mkdir.res
set date+3.res
mon.bat]
set mon.res
set indi.res
.bat]
[конец работы restres.bat]
[конец работы main.bat]
B системе IS-DOS существует еще одна программа для работы с bat-
файлами - bat.res. Это резидентная программа, которую удобно
использовать при работе с большим числом bat-файлов, чтобы не вызывать
каждый раз exebat.com. Программа bat-res устанавливается в систему при
помощи команды Q:RESset Q:RESbat.res, после чего для вызова bat-
файла достаточно ввести команду @bat, или даже просто @, указав имя
вызываемого файла. Например:
@ main.bat
или
@bat main.bat
При этом имя файла должно отделяться от символа "@" или команды
"@bat" пробелом, иначе система воспримет его как имя резидентной
программы. Также обязательно указывать расширение bat.
Программа bat.res имеет три дополнительных команды, начинающиеся с
символа "*":
*L+ - выполняемые командные строки выводятся на дисплей в верхней
части экрана.
*L- - выполняемые строки не выводятся на дисплей.
*Е - специальная команда, которая служит для выхода из цепочки
вложенных bat-файлов. Она ставится в начале командной строки, после
исполнения которой происходит выход в оболочку с восстановлением
программного стека.
Команды можно набирать как прописными, так и строчными буквами.
Используя программу bat.res, не забывайте о том, что во время ее
работы опасно перемещать резидентные программы, удалять резидентные
программы и драйверы, так как это может вызвать сброс системы из-за
перемещения самой программы bat.res. Если командами eliminat или set
удалить резидентную программу, установленную раньше, чем bat.res, то
последствия могут быть непредсказуемыми. В таких случаях лучше все-
таки воспользоваться услугами exebat.com.
|
|