5.5.2 Соглашения,
используемые при описании команд
При описании синтаксиса команд прописными буквами
будут представляться элементы командной строки, которые должны использоваться
точно в том виде, как они записаны. Понятия, которые должны замещаться их экземплярами
(конкретизациями), будут выделяться курсивом. Дополнительно к этому
используются следующие соглашения и обозначения:
[а] — указывает на необязательность элемента а;
[а1| а2| …аN]
— свидетельствует
о том, что должен быть только один из элементов ai, но может и не быть ни одного элемента;
[al
\ a2\...aN] — указывает на то, что обязательно должен
присутствовать один из элементов ai (но не более одного);
<al а2 ... aN > — группирует (но
только при описании) элементы al, а2,… aN [символы < и > играют роль скобок аналогично символам ( и ) в арифметических
выражениях];
… — свидетельствует о
том, что предыдущий элемент может неоднократно повторяться; для однозначной
идентификации группового элемента он должен быть (но только при описании)
заключен в одну из пар скобок;
◄k ► — обозначает нажатие
клавиши k.
С использованием принятых соглашений типовая
структура команды DOS представляется следующим образом:
имя_команды [аргумент]... [переключатель]...
Первым элементом командной строки является имя команды, полный перечень которых
уже приведен на рис. 5.13. За именем команды могут следовать аргументы (спецификации файлов, каталогов
и т.п.), обычно отделяемые от него и друг от друга, по крайней мере, одним
пробелом и используемые для указания объектов, над которыми требуется выполнить
те или иные действия. Командную строку могут завершать переключатели (флаги), которые уточняют или модифицируют действие
команды. Каждый переключатель начинается со слэша (/) и поэтому не обязательно
должен отделяться от предыдущего элемента пробелами.
Аргументы команд, как правило, являются позиционными
и поэтому должны следовать строго в указанном при описании синтаксиса команды
порядке. Переключатели распознаются не по месту, а по виду (ключу). Поэтому
порядок их следования значения не имеет.
Некоторые команды, в особенности команды для
командных файлов и команды конфигурирования системы, могут иметь отличающуюся
от описанной структуру.
В дальнейшем без каких-либо дополнительных пояснений
будут использоваться следующие обозначения:
D — для имени логического привода (накопителя,
дисковода);
Pattern — для спецификации шаблона файла (полной или
неполной);
file — для спецификации файла (полной или
неполной), которая рассматривается как
частный случай спецификации шаблона
файла;
dir — для спецификации каталога (полной или
неполной);
пате — для образца имени файла (не составного!);
ext — для образца расширения файла;
сотрпате
— для образца составного имени файла, т.е.
для name[.ext] или пате.;
arglist — для списка аргументов (последовательность
разделенных пробелами аргументов);
process — для строки, обеспечивающей вызов команды
или исполняемого файла на
выполнение (имя команды
или спецификация исполняемого файла с аргументами и переключателями);
string — для символьной строки, включающей буквы,
цифры, пробелы и другие неуправляющие символы;
k, l, т, п и т.п.— для числа.
Большинство упомянутых понятий введены нами в п.
5.2.2. Если в командной строке используется несколько одинаковых понятий, то
их имена при описании команд могут нумероваться (например, dl, d2), чтобы на них было удобно ссылаться в тексте.
Синтаксис командного языка DOS не безупречен.
Так, в частности, d: в различных
контекстах обозначает дисковод или текущий каталог на этом дисководе. Поэтому
при описании команд возникают определенные трудности. Мы будем употреблять
всегда для привода обозначение d, а для каталога — dir. В случае необходимости указания текущего
каталога на дисководе d всегда будет предполагаться d:.. Поэтому запись dir\compname всегда оказывается корректной (в противном
случае в качестве ее конкретизации допускалась бы строка d:\compname, которая означала бы ссылку на файл сотрпате в корневом, а не в текущем каталоге диска в
приводе d). Но всегда нужно
иметь в виду, что запись d: при указании каталога является сокращенной формой строки d:. .
В командном языке DOS наблюдается также некоторая непоследовательность в именовании
переключателей (одни и те же переключатели в разных командах могут обозначаться
по-разному, а разные переключатели — одинаково).
И наконец, синтаксис некоторых команд DOS (например, MODE) не укладывается в рамки общего формата.