MS DOS описание
.pdfКоманда LABEL позволяет записать, изменить или удалить метку диска. Внешняя команда.
Если параметр отсутствует, то подразумевается текущий накопитель.
Задание приглашения DOS (команда PROMPT)
Спецификация команды: PROMPT [prompt-текст]
Встроенная команда.
PROMPT без параметра устанавливает стандартное приглашение (имя накопителя и знак "больше") к приёму команд DOS. Задание формата приглашения осуществляется особой строкой, состоящей из обычных текстовых символов и специальных управляющих символов. Управляющие символы снабжаются префиксом – знаком $, чтобы отличить их от обычных символов.
Наиболее часто используются следующие управляющие символы:
$p - выдача имени текущего (рабочего) каталога $d - выдача текущей даты
$g - выдача символа-разделителя $b - выдача символа-разделителя "|" $h - стирание предыдущего символа
$e - начало выдачи Esc-последовательности $n - выдача имени текущего накопителя
Реже используются следующие управляющие символы:
$q - выдача символа-разделителя "=" $l - выдача символа-разделителя "<" $$ - выдача символа "$"
$_ - этот символ (подчерк) указывает на необходимость перехода на следующую строку
Строка "$p$g" в качестве параметра команды PROMPT обеспечивает выдачу приглашения, которое используется наиболее часто. Оно содержит лишь имя текущего каталога и имеет вид:
C:\WORK>
Здесь подстрока C:\WORK выдается под управлением символов $p, а знак > - под влиянием символов $g. Если бы управляющая строка имела вид "$t $d $b $p$g", то в приглашение были бы включены довольно длинные сообщения о времени и дате:
13:55:34.05 Mon 11-25-85 | C:\WORK>
Чтобы подавить выдачу секунд и долей секунд в таком приглашении, можно применить управляющие символы стирания $h; при этом их число должно соответствовать числу удаляемых символов.
Перенос системных файлов DOS (команда SYS)
Спецификация команды: SYS н:
Внешняя команда.
Переписывает скрытые файлы DOS с текущего накопителя на накопитель н:. Каталог на диске должен быть пуст, а сам диск отформатирован. Команда SYS переписывает только два скрытых системных файла: BIO.COM и DOS.COM.
Сравнение файлов (команды COMP)
Спецификация команды:
COMP[н:][маршрут][имя_файла[.тип]][н:][маршрут][имя_файла[.тип]]
Внешняя команда.
Сравнивает (побайтно) содержимое файлов, заданных первым аргументом, и файлов, заданных вторым аргументом. В ходе сравнения фиксируется всякое несовпадение содержимого файлов (указывается 16ричное смещение от начала файла и содержимое несовпавших байтов). После 10 несовпадений дальнейшее сравнение прекращается и выдаётся соответствующее уведомление. При несовпадении размеров файлов сравнение не производится.
Установка/отмена прерываний по CTRL-BREAK (команда BREAK)
Спецификация команды: BREAK [ON/OFF]
Встроенная команда.
Если BREAK находится в состоянии OFF, то прервать выполнение программы по CTRL-BREAK можно лишь при её обмене с дисплеем, принтером, клавиатурой или коммуникационным каналом.
Если BREAK=ON, то проверка CTRL-BREAK происходит во всех случаях, когда программа обращается к какой-либо функции DOS. Это позволяет прерывать исполнение программ, которые не обмениваются (или мало обмениваются) со стандартными устройствами. По умолчанию BREAK находится в состоянии OFF.
Пакетные файлы
Определение пакетного файла
Пакетные файлы можно считать особой категорией исполняемых программ. Такие файлы должны иметь тип .BAT (от английского слова batch - "пакетный").
Запуск пакетного файла осуществляется точно так же, как и запуск обычной исполнимой программы типа
.COM или .EXE, то есть для этого указывается имя файла и, если требуется, параметры.
Пример запуска пакетного файла START:
C:\>start
Роль пакетных файлов особая. Они служат для организации удобного взаимодействия пользователей с прикладными программными системами. Пакетный файл, в отличие от обычных исполнимых программ, содержит не машинные коды программ, а текст, который интерпретируется командным процессором DOS. Cтроки этого текста могут представлять собой:
-встроенные команды DOS;
-обращения к исполнимым программам;
-вызовы других пакетных файлов;
-специальные команды для управления выдачей на экран;
-специальные команды для организации ветвлений и циклов;
-метки.
Все эти конструкции, за исключением меток, можно считать командами DOS.
В пакетных файлах DOS могут фигурировать специальные команды, предназначенные для создания нетривиальных управляющих последовательностей.
Важное свойство пакетных файлов - возможность задания в их текстах формальных параметров. В пакетных файлах могут использоваться формальные параметры %1 - %9.
Рассмотрим действие специальных команд, позволяющих управлять интерпретацией командных файлов. К ним, как указывалось, относятся команды GOTO, IF, FOR, SHIFT, а также команда EXIT, играющая особую роль при рекурсивном (вложенном) вызове командных файлов.
Команда GOTO
Команда GOTO позволяет передавать управление на метку и тем самым осуществлять повторное исполнение участков командного файла или, наоборот, обходить некоторые участки (это имеет смысл в сочетании с командой ветвления IF).
Пример. Пусть командный файл PR.BAT имеет вид:
echo off :m1
echo Вывод на принтер файла %1 echo Для остановки нажмите CTRL-C copy %1 prn
pause goto m1
В данном примере вторая строка содержит метку m1 (признаком метки является двоеточие в начале строчки), а последняя строка - команду перехода на эту метку. Четыре команды внутри повторяемого участка командного файла служат для выдачи на экран поясняющих сообщений(команды ECHO) и копирования на принтер файла, имя которого подставляется вместо формального параметра %1. Команда PAUSE приостанавливает исполнение, чтобы пользователь имел возможность осмотреться и прервать работу или продолжить ее дальше.
Допустим, пользователь дает с терминала команду:
A:\>pr docum.doc
Начинается циклическое исполнение файла PR.BAT с фактическим параметром DOCUM.DOC. На принтер начнут выдаваться одна за другой копии этого текстового файла, прерываемые паузами после каждой очередной копии. Пользователь может прервать исполнение этого командного файла, нажав одновременно клавиши CTRL-C.
Команда IF
Команда IF позволяет проверять условие и выполнять ветвление в зависимости от результата его проверки.
Она имеет три формата:
Формат1. Проверка кода завершения какой-либо программы, сработавшей перед оператором IF.
Используется конструкция следующего вида: IF ERRORLEVEL <N>
Любая программа может с помощью специального прерыванияDOS выработать в момент своего окончания собственный код завершения. Этот код сравнивается с числом N. Условие считается выполненным (истинным), если выработанный код завершения равен или больше указанного числа N.
Формат2. Проверка наличия файла в каталоге.
Вэтом случае начало оператора IF имеет вид: IF EXIST <расширенное имя файла>
Вданном случае команда IF проверяет, действительно ли существует файл с заданным именем в указанном или в текущем каталоге. При обнаружении файла условие считается выполненным.
Формат3. Сравнение двух строк, которые, в частности, могут задаваться через формальные параметры.
Соответствующая конструкция может иметь вид: IF %<N> == <текстовая строка>
Здесь значение формального параметра %<N> сопоставляется с конкретной строкой. При абсолютном совпадении двух строк условие считается выполненным.
Любое из этих условий может задаваться со знаком логического отрицания NOT. При этом истинность условия трактуется в обратном смысле, по сравнению с вышеприведенными рассуждениями.
Команда FOR
Команда FOR обеспечивает циклическое выполнение команд DOS. При этом можно задать формальный параметр и список фактических параметров (обычно - имен файлов), которые последовательно подставляются вместо формального параметра в текст исполняемой команды.
Пусть имеется необходимость систематически копировать файлы PROG.PAS PROG.OBJ и PROG.EXE из рабочего каталога на виртуальный диск Е:. С этой целью можно в соответствующем командном файле дать команду:
for %%A in (PAS OBJ EXE) do copy PROG.%%A е:
Здесь формальный параметр %%A последовательно сопоставляется со списком фактических параметров в круглых скобках и используется в команде COPY, которая в данном случае сработает 3 раза подряд.
Подставив в качестве второго аргумента команды COPY вместо имени Е: еще один формальный параметр %1, можно будет менять назначение копирования, задавая его с терминала.
Два следующих подряд знака % должны предшествовать формальному параметру только в командных файлах. При употреблении команды FOR непосредственно с терминала используется одиночный знак %.
|
Краткий справочник команд DOS |
Имена стандартных устройств ввода/вывода |
|
PRN |
основной (1-й) принтер |
LPT1 |
другое имя для основного принтера |
LPT2 |
дополнительный (2-й) принтер |
AUX |
основной (1-й) коммуникационный канал |
COM1 |
другое имя 1-го коммуникационного канала |
COM2 |
дополнительный (2-й) коммуникационный канал |
CON |
"консоль", то есть дисплей + клавиатура |
NUL |
"пустое устройство", используемое при отладке |
|
|
Команды управления пакетными файлами |
|
ECHO |
управление выдачей сообщений на экран |
PAUSE |
пауза, остановка обработки командного файла |
REM |
выделение строки с комментарием |
GOTO |
безусловный переход на метку в командном файле |
IF |
проверка условия и ветвление |
FOR |
управление повторным выполнением команд |
SHIFT |
сдвиг списка формальных параметров |
Команды формирования операционной среды |
|
DATE |
выдача и установка даты |
TIME |
выдача и установка времени |
PATH |
задание альтернативных маршрутов для поиска программ |
SET |
задание параметров операционной среды |
CTTY |
<пере>установка стандартных устройств ввода и вывода |
BREAK |
установка/отключение прерываний по CTRL-BREAK |
VERUFY |
установка/отключение верификации при записи на диск |
ASSIGN <y> |
установка логических имен накопителей (y - утилита) |
Команды для работы с файловой системой |
|
DIR |
выдача каталога файлов |
CD |
смена текущего каталога |
MD |
создание нового подкаталога |
RD |
удаление подкаталога |
REN |
переименование файлов |
TYPE |
вывод файла на экран |
COPY |
копирование файлов |
VOL |
выдача метки диска |
LABEL |
задание/переустановка метки диска |
Используемые утилиты |
|
FORMAT |
форматирование (разметка) диска |
CHKDSK |
выдача общего объема и заполнения диска и ОЗУ |
SYS |
перенос системных файлов DOS на указанный диск |
MORE |
выдача содержимого файла порциями по 24 строки |
ATTRIB |
установка/снятие атрибута защиты файлов от записи |
COMP |
сравнение файлов по строкам |
DISKCOMP |
сравнение дискет по дорожкам |
EDIT |
запуск текстового редактора |