П2.3.
Пользовательский интерфейс
Пользовательские
интерфейсы MS-DOS $.0 и 4.0 различаются
незначительно. Основные усовершенствования состоят в следующем:
1) построчный текстовый
редактор EDLIN заменен полноэкранным редактором EDIT с пользовательским интерфейсом,
аналогичным интегрированной системе MS Works;
2) вместо системы
программирования GWBASIC поставляется усовершенствованный
продукт Quick BASIC (QBASIC) с аналогичным
пользовательским интерфейсом;
3) усовершенствованы команды ASSIGN, ATTJRIB, СО MP, DIR, DISKCOPY, FIND, FORMAT, GRAPHICS, KEYB, MEM, REPLACE и SYS;
4) введены новые внешние команды DELOLDOS, DOS KEY, EXPAND, LOADFIX, LOADHIGH (уже рассмотрена), MIRROR, SETVER, UNDELETE и UNFORMAT;
5) имеется справочник no командам DOS;
6)усовершенствована утилита
установки (теперь
она называется SETUP вместо SELECT).
Остановимся несколько
подробнее на пп. 3 — 6.
Усовершенствованная
команда ASSIGN допускает единственный
переключатель /STATUS для отображении веся
текущих переназначений приводов. Вместе с ним больше ничего в командной строке
специфицировать нельзя.
Команда ATTRIB
теперь обеспечивает отображение и изменение всех четырех атрибутов (R, A, S и Н) как у файлов, так и
у каталогов. Для установки (сброса) атрибутов S и Н задаются аргументы +S и +Н (—5 и —Н)
соответственно. Если Вы обрабатываете каталог, то в начале командной строки
укажите переключатель /D. Иначе спецификация dir будет проинтерпретирована
как сокращение для dir\*.*.
В команде СО MP вслед за аргументами
можно указывать следующие переключатели:
/D —
отобразить различия в десятичном формате (принимается по умолчанию);
/А — отобразить различия в ASCII-формате,
/L — отобразить номера различающихся строк;
/N:n —
осуществить сравнение только первых п строк
в файлах;
/С —при сравнении не принимать
во внимание различия в кодировках одноименных прописных и строчных букв.
Если ни один из
переключателей /D и /А не задан, то
различия отображаются в шестнадцатеричной системе счисления.
Таким образом,
усовершенствованная команда СОМР поддерживает как двоичное, так и текстовое
сравнение.
Команда DIR
в MS-DOS 5,0 обеспечивает
отображение сведений о всех файлах и допускает следующие дополнительные (но не
обязательные) переключатели:
/А[[:]—·R·A·H·S·D] /О[[:][-]N
| E | G | S | D] /S /В /L
Здесь
/А —
отобразить только файлы (каталоги) с заданными атрибутами, где
R — атрибут R;
А — атрибут А;
Н — атрибут Н;
S — атрибут S;
D — аргумент проинтерпретировать как каталог;
— —
проинвертировать условие отображения (указывается перед буквой);
/О —
отсортировать файлы (каталоги):
N —
по имени;
Е — по расширению;
G — сгруппировав каталоги в начале списка (иначе
они группироваться не будут);
S — по размеру (длине);
D — по дате и времени создания;
— —
в порядке, обратном лексикографическому (указывается перед буквой);
/S — обработать подкаталоги;
/В — не
отображать заголовок и итоговые сведения;
/L — использовать для отображения строчные
буквы вместо прописных.
Если переключатель /А не задан, то
отображается список тех из сопоставимых с шаблоном файлов (подкаталогов),
которые не имеют атрибутов Н и S. Когда указан
переключатель /А без конкретизации требуемых атрибутов, отображается список
всех сопоставимых с шаблоном файлов И каталогов — независимо от того, какими
атрибутами они обладают.
Если переключатель /О не задан, то содержимое
каталога при выдаче не сортируется. Однако когда /О специфицирован, но критерий
сортировки не указан, подкаталоги группируются в начале списка, после чего
подкаталоги и файлы сортируются по имени независимо друг от друга.
Чтобы не печатать каждый
раз на клавиатуре длинную командную строку, определите список умалчиваемых
переключателей команды DIR. в качестве значения
глобальной переменной IRCMD,
В команде DISKCOPY
дополнительно можно специфицировать переключатель /V для проверки правильности
копирования информации.
Фильтр FIND
воспринимает еще один переключатель — /I, который обеспечивает игнорирование
различий одноименных прописных и строчных букв.
В команде FORMAT
дополнительно допустимы два следующих переключателя.
/Q — осуществить быстрое
форматирование (аналогично SFORMAT в режиме QUICK, т.е. без разрушения
содержимого области данных и с максимальной скоростью) с резервированием
системной области логического диска;
/U — произвести стандартное,
т.е. невосстанавливаемое
форматирование диска (по умолчанию не действует).
Если ни один из указанных
переключателей не задан, то инициализация диска будет осуществляться в режиме безопасного форматирования
(аналогично
SFORMAT в режиме Safe), причем с
резервированием системной области. Тестирование поверхности будет произведено,
но область данных останется не перезаписанной. Для новой дискеты всегда
осуществляется стандартное форматирование.
Когда указаны оба
переключателя /Q и /U, производится быстрое
форматирование, но без резервирования системной области диска.
Восстановить диск после
непреднамеренного форматирования можно будет командой UNFORMAT. Заметим, что эта
команда, а также команды MIRROR и UNDELETE заимствованы из комплекта
PC Tools фирмы Central Point Software и поставляются в составе MS-DOS 5.0 в соответствии с
лицензионным соглашением. Аналогичными, если не более богатыми возможностями,
обладают утилиты из изученного нами комплекта Norton Utilities.
В команде FORMAT можно специфицировать
формат 238 Мбайт, имеющий условное обозначение ED.
Команда GRAPHICS
дополнительно воспринимает следующие типы принтеров:
DESKJET —
принтер HP
DeskJet;
HPDEFAULT — принтер HP с языком PCL;
LASERJET —
принтер HP
LaserJet;
LASERJETII ― принтер HP LaserJet II;
PAINTJET —
принтер HP
QuieUet;
QUIETJETPLUS — принтер HP QuieUet Plus;
RUGGEDWRTTER — принтер HP RuggedWriter с широкой кареткой;
THINKJET — принтер HP ThinkJet.
Команда KEYB
допускает два новых переключателя:
/Е —
указать, что к ПЭВМ подключена усовершенствованная клавиатура;
/ID:n — указать, что к ПЭВМ подключена
клавиатура с идентификатором п. Этот идентификатор задает раскладку клавиатуры,
зависящую от соглашений, принятых в той или иной стране. Например, Франции
соответствует идентификатор 120 или 189, Италии — 141 или 142, а Великобритании
― 166
или 168.
Команда MEM
воспринимает еще один (но несовместимый с другими) переключатель /CLASSIFY, или /С, обеспечивающий
классификацию программ в стандартной и верхней памяти по их размеру, отображение
суммарного объема используемой памяти и размера наибольшего свободного блока
стандартной, а также UMB-памяти.
В команда REPLACE
можно указать дополнительный переключатель /U, предназначенный для
замены (обновления) только тех файлов, которые созданы раньше исходных файлов.
Этот переключатель несовместим с переключателем /А.
Команда SYS
обеспечивает копирование не только файлов с MP BIOS и БМ DOS, но и с КП.
Теперь кратко рассмотрим
новые команды.
Команда DELOLDOS
предназначена для удаления с жесткого диска старой версии DOS после установки на него DOS 5.0. Дело в том, что
утилита SETUP работает в высшей степени
безопасно, переписывая файлы старой версии системы в каталог C:\OLD_DOS.1. Данный каталог вместе с
его содержимым удаляется в результате выполнения команды DELOLDOS, которая вводится без
каких-либо аргументов и переключателей. Кроме того, эта команда удаляет и файл,
ее реализующий, а поэтому она может быть выполнена только один раз.
Команда DOS KEY служит для поддержки стека командных строк,
введенных с клавиатуры, чтобы можно было быстро осуществить повторный ввод
одной из них, возможно, в видоизмененном виде. Дополнительно предоставляется
возможность создавать макрокоманды, имена которых обозначают командные строки
или их последовательности. Это облегчает Повторное задание длинных командных
строк и групп команд благодаря использованию вместо них более коротких
синонимов. Формат команды DOSKEY таков:
DOSKEY [/REINSTALL] [/BUFSIZE = n] [/MACROS] [/HISTORY]
[/INSERT | /OVERSTRIKE] [macro = [string]]
Переключатели
специфицируют следующее:
/REINSTALL — установить новую
копию команды DOSKEY
с пустым стеком команд и списком макрокоманд. При этом задействуется около 4
Кбайт ОЗУ;
/BUFSIZE=n
—
выделить буфер (стек) для хранения командных строк и макроопределений размером п
байт. Минимальным значением является 256, а по
умолчанию принимается 512. Переключатель допустим только при первой установке
или установке новой копии DOSKEY;
/MACROS — отобразить все созданные
макрокоманды;
/HISTORY — отобразить все хранящиеся в стеке
командные строки;
/INSERT — переключить DOSKEY в режим вставки;
/OVERSTRIKE —
переключить DOSKEY
в режим замены.
Установка резидентного
обработчика командных строк осуществляется путем выдачи команды без аргументов
и переключателей, за исключением разве что переключателя /BUFSIZE, а также /INSERT или /OVERSTRIKE.
После ввода очередной
командной строки она помещается в вершину стека и может быть извлечена с
размещением на экране путем нажатия клавиши f. Последовательно нажимая
эту клавишу, можно просмотреть весь стек в порядке, обратном вводу командных
строк, и повторно ввести одну из находящихся в нем строк, возможно,
предварительно ее отредактировав. Клавиша I обеспечивает просмотр стека в прямом направлении (от
дна к вершине). Так как размер стека ограничен, то наиболее старые командные
строки из него постепенно удаляются.
Отобразить содержимое
стека командных строк с их нумерацией можно, просто нажав клавишу F7. Для того чтобы показать
командную строку с номером п, достаточно нажать клавишу F9, вслед за чем ввести
номер п. Первая строка, запомненная в стеке (т.е. его дно) появится на экране
при нажатии клавиши PgUp, а последняя (т.е.
вершина стека) — PgDn. Чтобы извлечь из стека
требуемую командную строку, напечатайте несколько начальных ее символов и
нажмите клавишу F8. На экране появится
самая последняя из подходящих командных строк. Для продолжения поиска в
глубину стека снова нажмите F8 и т.д. Если Вы хотите
очистить стек командных строк, воспользуйтесь комбинацией клавиш AU-F7.
Извлеченную любым из
описанных способов или только что напечатанную командную строку можно
отредактировать и (снова) послать на выполнение. Редактирование может
осуществляться как в режиме вставки, так и в режиме замены (клавиша Ins) с использованием
традиционных средств.
Аргумент macro=string описывает новую
макрокоманду, где macro — ее имя (последовательность
символов), a string — командная строка, которая
обозначается посредством macro. Например, можно задать FE=FORMAT Е:. Тогда при вводе FE будет выполняться команда
FORMAT Е:. Для помещения в макроопределение нескольких
командных строк разделите их комбинацией символов $Т. В макроопределении можно
использовать параметры $1 — $9. Доступ ко всем аргументам макрокоманды
осуществляется путем использования в макроопределении комбинации $*. Кроме
того, в макроопределениях следует использовать нижеперечисленные комбинации:
$G — вместо символа >;
SL — вместо символа <;
$В —
вместо символа |;
$$ —
вместо символа $.
Если Вы хотите удалить
определения всех макрокоманд, нажмите комбинацию клавиш AU-F10. Для удаления
определения одной макрокоманды выполните команду DOSKEY в форме DOSKEY macro=.
Команда DOSKEY
несовместима с оболочкой Norton Commander, т.е. первая практически
не действует в среде последней, да это и не требуется.
Команда EXPAND
служит для распаковки файлов MS-DOS 5.0 с дистрибутивных
носителей информации, если возникнет необходимость обновить некоторые из них на
системном диске. Эта команда запускается в следующем формате:
EXPAND file... {file\dir}
Все аргументы, кроме
последнего, являются исходными, а последний — целевым. Если исходный аргумент
единственный, то в качестве целевого допустим как file, так и dir. В противном случае можно
задать только целевой каталог dir, в который будут помещены
все распакованные файлы.
Команда LOADFIX
предназначена для загрузки программы в память так, как будто бы работает DOS более ранней версии, чем
5.0. Если запустить программу обычным образом, то она может быть размещена в
нижней памяти с адресами до 64 Кбайт, где в предыдущих версиях системы
находилось ядро DOS. Когда программа в таких
условиях не работает, то запустите ее с использованием команды LOADFIX в нижеприведенном
формате:
LOADFIX process
Это обеспечит ее обычное
размещение, а следовательно, и работоспособность.
Команда MIRROR служит, для резервирования системных областей дисков и
выполняет функции, аналогичные утилитам Image, Erase Protect, а также Disk'Tools. Она запускается в
следующем формате:
MIRROR [d:]... [/1] [/Td[-n]]...
или
MIRROR [/U]
или
MIRROR [/PARTN]
Здесь
Id: — привод,
системная область диска в котором подлежит сохранению;
/1 — не сохранять
предыдущий слепок системной области диска (иначе он будет сохранен);
/Td — загрузить резидентно программу,
фиксирующую сведения об удаляемых с диска в приводе d файлах и каталогах (эти
сведения записываются на тот же диск в файл PCTRACK.DEL),
—n — фиксировать в соответствии с
переключателем /Т максимум я элементов. Значение, принимаемое по умолчанию,
зависит от емкости диска и лежит в диапазоне 25 — 303;
/U — выгрузить из памяти программу,
установленную по переключателю /Т;
/PARTN —
сохранить MBR
жесткого диска на дискете в файле PARTNSAV.FIL. Целевой привод будет
запрошен.
Команда SETVER
обеспечивает выдачу, по запросу от зарегистрированных ею же программ, требуемых
для их работы версий DOS. Дело в том, что
некоторые программы проверяют версию DOS и, если она их не
устраивает, прекращают свое функционирование. Данная же команда позволяет
«обмануть» такую программу, извещая ее о той версии DOS, которую пользователь
предварительно для данной программы зарегистрировал. Поэтому Программа будет
работать нормально. Гарантия этого — хорошая совместимость снизу вверх
программного интерфейса MS-DOS 5.0 с предыдущими
версиями системы.
Сам файл SETVER.EXE содержит таблицу, в которой регистрируются
те программные продукты, которые отказываются работать под управлением данной
системы. Для каждой такой программы в таблице указывается составное имя файла, содержащего эту программу,
а также номер
версии DOS, с которой программа работает. Как раз эти сведения
и используются по запросам от программ. Команда SETVER обслуживает данную
таблицу и задается в одном из данных форматов:
SETVER [dir] — отобразить
содержимое таблицы;
SETVER [dir] name.ext п.nп —
добавить строку в таблицу;
SETVER
[dir] name.ext /DELETE [/QUIET] —
удалить строку таблицы, описывающую файл name.ext.
Аргумент dir здесь задает каталог, в
котором содержится файл SETVER.EXE. Аргумент п.nп определяет версию DOS, с которой совместима
программа в файле name.ext. Переключатель /QUIET требует установить
«невидимый» режим работы, т.е. не выдавать никаких сообщений.
Чтобы сформированная
таблица использовалась DOS при запуске программ,
необходимо командой конфигурирования DEVICE[HIGH] = подключить файл SETVER.EXE как драйвер. После
модификации таблицы требуется перезагрузка DOS.
Команда UNDELETE
предназначена для восстановления удаленных файлов и является аналогом утилиты UnErase. Формат команды
следующий:
UNDELETE [pattern] [/ LIST
| /ALL) [/DT|/DOS]
Аргументом pattern задается шаблон подлежащих
восстановлению файлов. Если он не задан, то восстанавливаются по возможности
все удаленные файлы. Переключатели означают следующее:
/LIST — перечислить все файлы, которые
можно восстановить;
/ALL —
восстановить все указанные в командной строке файлы без запроса на
подтверждение;
/DT —
при восстановлении
использовать только сведения, зафиксированные в файле PCTRACK.DEL;
/DOS — при восстановлении использовать
только сведения из каталогов.
При отсутствии как /DT, так и /DOS, используется вся
доступная для восстановления информация.
Команда UNFORMAT
обеспечивает восстановление информации на диске после ошибочного его
форматирования, обработки командой RECOVER или разрушения информации
по другим причинам. UNFORMAT является аналогом
одноименной Norton-утилиты, а также
выполняет одну из процедур утилиты Disk Tools, и запускается в виде
UNFORMAT d: [J]
или
UNFORMAT d: [/U] [/L] [/TEST] [/P]
или
UNFORMAT /PARTN [/L]
Здесь
Id: —
привод, диск в котором требуется восстановить;
/J — проверить, согласуется ли слепок
системной области диска, сделанный командой MIRROR, с реальной системной
информацией на диске;
/U — восстановить без использования
слепка системной области;
/L — отобразить список всех
восстановленных файлов и каталогов или (когда используется с переключателем /PARTN) отобразить текущую
таблицу разделов;
/TEST —
отобразить перечисленные сведения без коррекции содержимого диска;
/Р —
послать сообщения на принтер LPT1;
/PARTN —
восстановить MBR.
Доступ к справочнику по
командам DOS осуществляется следующими
способами:
1) путем ввода внешней команды HELP, в результате чего будет
отображен список всех доступных команд с их назначением;
2) путем ввода внешней команды HELP, за которой следует имя
интересующей Вас команды DOS, вследствие чего на экран
будет выдан синтаксис этой команды;
3) путем ввода интересующей
Вас команды с переключателем / ? для достижения того же эффекта.
Утилита SETUP работает в интерактивном
режиме и запускается командной строкой вида
SETUP [/В] [/F] [/U] [/M]
где
/В — переключить утилиту в монохромный
режим работы;
/Р — установить DOS на дискетах;
/U — установить DOS даже тогда, когда обнаружена
несовместимость логических дисков с MS-DOS 5.0;,
/М — установить упрощенный вариант DOS.
В заключение отметим, что
драйвер SMARTDRV.SYS допускает указание
второго аргумента. Этот аргумент задает минимальный размер кэша, за который не
удастся переступить никаким программам, способным уменьшать его размер. По
умолчанию принимается 0 (т.е. уменьшать можно до нуля). Дополнительный аргумент
полезен только при работе в среде Windows 3.0.
Следует также иметь в
виду, что все драйверы MS-DOS 5.0 используют расширенную
память только по стандарту XMS 2.0, поэтому всегда
требуется предварительное подключение драйвера HIMEM.SYS.