Некоторые полезные команды DOS. Работа в командной строке Windows. Подготовка системной дискеты

Применительно к DOS, все команды подразделяются на внутренние (те, что обрабатываются командным процессором command.com) и внешние, являющиеся системными утилитами. Так, полная версия MS-DOS поставляется с большим числом дополнительных утилит, которые вполне можно рассматривать как команды. В командной строке, входящей в состав Windows, имеется только поддержка внутренних команд и основных внешних, необходимых лишь для обеспечения базовой функциональности и возможности запуска программ, созданных для DOS. Кроме того, ряд команд, строго говоря, вовсе не является командами DOS, а являются консольными программами Windows XP.

VER

Команда VER (от VERsion - версия) является внутренней и выводит версию используемой операционной системы. Для Windows XP она выведет на экран следующую информацию:

Microsoft Windows XP [Версия 5.1.2600]

А для Windows 7:

Microsoft Windows

Так что теперь мы знаем, что на самом деле, Windows 7 - никакая не 7, а 6.1.

DIR

Для того чтобы узнать, что находится в текущем каталоге на диске, используют команду DIR (от DIRectory - каталог). При этом, для того чтобы сменить текущий диск, используют команду, состоящую только из имени диска, то есть буквы и двоеточия (не забывайте нажимать Enter для выполнения команд). Так, командой A: вы перейдете на диск A:. Например, если вставить новую дискету в дисковод и набрать сначала A:, а затем DIR, то можно будет увидеть примерно следующее:

Том в устройстве A не имеет метки. Серийный номер тома: 234F-18F9 Содержимое папки A:\ Файл не найден

Если бы на дискете присутствовали файлы и (или) каталоги, то команда DIR вывела бы их список с указанием размера и даты создания. Если файлов много, то можно прибегнуть к помощи специального ключа w:

В этом случае информация о файлах будет выведена в компактном виде - в несколько столбцов и без дополнительной информации (то есть только имена).

CD

Для того чтобы сменить текущий каталог, используется команда CD (от Change Directory - сменить каталог). При этом смена каталога осуществляется по принципу "от текущего". Допустим, у вас на диске C: имеется каталог DIR1, в который вложен каталог DIR2. Если вы находитесь в корневом каталоге диска C: (то есть C:\), то, чтобы добраться до каталога DIR2, вам надо ввести последовательно две команды DIR:

После этого приглашение системы сменится на c:\DIR1\>

Теперь приглашение системы сменится на c:\DIR1\DIR2\>

Чтобы перейти сразу на несколько каталогов по иерархии файловой системы, надо все их перечислить. В нашем случае, чтобы не вводить команду дважды, следовало бы написать:

Cd dir1\dir2

Если же требуется перейти на уровень выше (например, из DIR2 в DIR1), следует вместо имени директории ставить две точки:

MD

Команда MD (от Make Directory - создать каталог) предназначена для создания каталогов. Если вы хотите создать каталог "MYDIR" непосредственно внутри текущего, то вводите:

Md MYDIR

Если же вы находитесь, например, в корневом каталоге диска D:, а создать новый каталог надо внутри другого (например, DIR1 на диске C:), то требуется указать полный путь:

Md c:\DIR1\MYDIR

Следует запомнить, что при выполнении всех команд DOS отталкивается от текущего каталога, то есть от того, который вы видите в системном приглашении. И если вам требуется выполнить действие в другом месте, то вы должны либо указывать полный путь, включая имя диска, либо перейти в нужный каталог при помощи команды CD.

COPY

Для копирования файлов используется команда COPY. Например, чтобы с ее помощью скопировать файл command.com с диска C: на диск D:, следует написать:

Copy c:\command.com d:

Таким образом, здесь первый параметр определяет исходное имя файла, а второй - расположение создаваемой копии. В примере выше файл command.com появится в корневом каталоге диска D:. Если же требуется при копировании еще и изменить имя файла, то необходимо указать и новое имя:

Copy myfile1.txt myfile2.txt

Здесь производится копирование файла myfile1.txt из текущего каталога в файл myfile2.txt, который будет находиться в том же каталоге, что и myfile1.txt.

MOVE

Если требуется не скопировать файл, а перенести его на новое место, используют команду MOVE (переместить):

Move myfile1.txt a:\

Таким образом, файл myfile1.txt из текущего каталога переместится в корневой каталог диска A:. В случае удачного выполнения команды файл будет скопирован в новое место и удален в исходном.

DEL

Для удаления файлов используют команду DEL (от DELete - удалить). Например, если ввести:

Del c:\dir1\myfile1.txt

то будет удален файл myfile1.txt из каталога DIR1 на диске C:. Если указать не имя файла, а только имя каталога, то будут удалены все файлы из указанного каталога.

EDIT

Когда возникает необходимость внести какие-либо изменения в текстовый файл, то можно воспользоваться внешней командой EDIT (правка), которая загружает простой текстовый редактор, входящий в поставку любой версии DOS и Windows 9х. Существует два способа воспользоваться этой программой. Во-первых, можно просто написать в командной строке "edit" и нажать Enter, после чего будет загружен редактор с пустым документом. Но целесообразнее сразу указывать имя редактируемого файла, например:

Edit c:\autoexec.bat

В результате выполнения такой команды в редактор сразу же с диска C: будет загружен файл AUTOEXEC.BAT. Если у вас все еще установлена Windows 9x, то вы увидите примерно то, что изображено на рис. 6.1.

Рис. 6.1. Штатный редактор с загруженным файлом AUTOEXEC.BAT

В верхней строке вы видите меню редактора. Наиболее важным является меню Файл, при помощи которого можно сохранить отредактированный документ (выбрав из него соответствующий пункт), а также выйти из программы. Для того чтобы переключиться из собственно области, где можно править текст, в меню, следует нажать клавишу Alt, а затем перемещаться между пунктами при помощи стрелок. Забегая вперед, хочу отметить, что при помощи Alt вы можете перейти в меню в любой Windows-программе. Так же следует отметить, что в семействе Windows NT (включая XP, Vista и Seven) этой команды нет.

FORMAT

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

ПРИМЕЧАНИЕ
Прежде чем операционная система сможет работать с диском, его требуется отформатировать. При форматировании каждый физический блок информации на диске связывается с логической структурой файловой системы. Учтите, что после форматирования жесткого диска восстановление какой-либо ранее находившейся на нем информации невозможно.

Для использования этой команды следует указать имя диска. Например, чтобы отформатировать дискету, следует ввести:

Format a:

У команды FORMAT имеется ряд ключей, основные из которых перечислены в таблице ниже.

Таблица 6.1. Основные ключи команды FORMAT
Ключ Описание
/S После форматирования переносит системные файлы DOS на диск. Примени-тельно к дискете - делает ее загрузочной. Данный ключ работает только в DOS и Windows 9x
/F:размер Указывает размер форматируемых гибких дисков. В качестве размера указывают одно из следующих значений: 160, 180, 320, 360, 640, 720, 1.2, 1.44, 2.88. Как правило, этот ключ не используют, так как система определяет размер дискеты автоматически
/FS:система Определяет тип файловой системы (FAT, FAT32 или NTFS) для жесткого диска (для Windows Vista/7 - так же UDF). Данный ключ работает только в Windows 2000/XP/Vista/7
/Q Производит быстрое форматирование

Для использования ключа следует ввести в командную строку команду, затем - обязательный параметр (имя диска), а затем - через пробел - имя ключа или ключей. Так, для форматирования стандартной 3,5-дюймовой дискеты можно ввести:

Format a: /f:1.44 /u

При использовании команды FORMAT следует быть предельно внимательным!

SYS

Если требуется создать системный диск, следует не просто скопировать файлы io.sys, msdos.sys и command.com, а прибегнуть к помощи команды SYS. Дело в том, что само присутствие системных файлов еще не делает диск системным - необходимо, чтобы компьютер знал, где именно находятся эти файлы (причем физически, так как на момент загрузки файловая система ОС еще сама не загружена). Именно команда SYS располагает системные файлы там, где их будет искать компьютер для загрузки операционной системы. Например, для переноса системных файлов с диска A: на диск C: следует ввести:

Sys a: c:

Данная команда имеется только в DOS и Windows 9x.

FDISK

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

ВНИМАНИЕ
Команда FDISK имеется только в DOS и Windows 9x. В Windows XP создание разделов диска возможно либо в процессе установки системы, либо при помощи специальной оснастки Управление компьютером. Здесь рассматривается вариант подготовки диска в среде DOS.

При запуске FDISK, команда спросит, следует ли включить поддержку больших дисков. Если вы ответите "Y" (от yes - да), то в дальнейшем будете работать с системой FAT32. При этом становится возможным создавать логические разделы объемом свыше 2 Гбайт. Кроме того, в FAT32 более эффективно, чем в VFAT, распределяется место между файлами. После того, как ответите на вопрос о поддержке больших дисков, вы увидите основное меню программы FDISK, изображенное на рис. 6.2.

Рис. 6.2.

Для выбора действия в этой программе следует нажимать цифру, соответствующую номеру меню, после чего нажимать Enter. Возврат в предшествующее меню и выход из программы осуществляется клавишей отмены (Esc).

CONVERT

Эта команда, напротив, уже не имеет отношения к DOS и имеется только в Windows 2000/XP и выше. С ее помощью можно преобразовывать логические диски из FAT в NTFS. Для ее запуска следует вызвать командную строку Windows (Пуск " Программы " Стандартные). Подобно команде FORMAT, для выполнения CONVERT следует указать имя диска для преобразования и дополнительно - конечную файловую систему при помощи ключа FS:

Convert C: /FS:NTFS

Учтите, что преобразованный в NTFS диск для DOS является невидимым. Иначе говоря, загрузившись с системной дискеты, содержащей DOS (Windows 9x), вы не сможете получить доступ к NTFS-дискам.

Наиболее часто встречающиеся рекомендации по запуску звучат так: Пуск, выполнить, cmd . В меню пуск присутствует пункт Выполнить. Он запускает программу, которая позволяет передавать единичные команды системе Windows. В данном случае команда cmd запускает исполняемый файл cmd.exe , находящийся в папке system32 .

C:\WINDOWS\system32\cmd.exe

На некоторых версиях Windows пункт меню выполнить по умолчанию убран. В этом случае жмёте + R , вводите cmd , далее Enter . Также можно запустить командную строку непосредственно из папки system32, сделав ярлык для запуска на рабочем столе (кликаем на cmd.exe правой клавишей мыши и в меню выбираем пункт Отправить/Рабочий стол) или же через диспетчер задач (кнопка новая задача - cmd).

По умолчанию в командной строке нельзя работать мышью (перемещать курсор или выделять текст). Это неудобно вообще и новичкам в особенности. К тому же чёрный экран выглядит как-то слишком мрачно и уныло. Поэтому после запуска командной строки

нужно будет изменить её настройки. Жмём правой клавишей на окне cmd и выбираем умолчания. Стоит сразу отметить, что настройки умолчаний относятся к cmd.exe в целом, а свойства - к конкретному открытому окну.

В появившемся окне свойств командной строки видим четыре вкладки:

На вкладке Параметры стоит отметить пункты отбрасывать повторения (чтобы снизить заполнение буфера команд) и выделение мышью (чтобы можно было использовать мышь в работе).

На вкладках Шрифты и Цвета всё просто: выбираете размер, тип и цвет шрифта, а также фоновый цвет окна. Отмечу только, что размер шрифта влияет на размеры окна командной строки, поэтому его надо выставлять до размеров окна, а не после.

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

Стоит отметить, что размер буфера влияет на вместимость окна, т.е. на количество информации, которое без проблем можно будет просмотреть после вывода на экран результатов выполнения команды (горизонтальная и вертикальная полосы прокрутки). Если задать равные размеры для окна и буфера, то в окне будет отображаться только хвост выводимой информации, который туда вместится.

Также если строка не впишется в ширину окна это приведёт к её переносу. Воспринимать представленную таким образом информацию менее удобно. Поэтому буфер я ставлю всегда намного больше размеров окна. Это позволяет просмотреть большие объёмы информации, воспользовавшись полосами прокрутки справа и снизу. Картинка ниже кликабельна. На превью показано начало вывода команды dir для папки system32, а нажав на превью можно увидеть хвост вывода (обратите внимание на полосу прокрутки справа - данных очень много).

Команды командной строки

Консоль настроена, теперь осталось ознакомить вас с командами командной строки. Для вывода их полного списка достаточно набрать команду help .

help - вывод справки по командам help CD или CD /? - вывод справки по одной команде (для команды CD ) cd - переход в корневой каталог cd .. - переход в родительский каталог D: - переход на диск D . dir - вывод всего содержимого папки dir *.exe - вывод списка exe -файлов папки cls - очистить экран командной строки

Командная строка запоминает команды, которые вы вводите. Листать их можно клавишами ⇑ и ⇓ . Можно просматривать содержимое папки при помощи клавиши Tab (Shift +Tab листает в обратном порядке). Можно пролистать файлы на конкретную букву или буквы. Например, напечатав букву s и нажимая Tab , можно пролистать только файлы и папки, начинающиеся на эту букву (s ystem, s ystem32, s ystem.ini и т.д.) . Как это можно использовать:

Например, вам надо перейти из корня диска C в папку system32, найти и запустить в ней контрольную панель. Можно просто напечатать:

C:\windows\ system32\ control.exe

Но это не всегда быстро и удобно, к тому же не всегда знаешь - что конкретно надо набирать. Поэтому можно набрать команду cd , затем после пробела набрать wi Windows, поставить после неё слэш, набрать буквы sy , пролистать клавишей Tab до папки sy stem32, затем опять слэш и то же самое с control.exe.

C: cd wi ndows\sy stem32\co ntrol.exe

Этот способ с табом куда быстрее в большинстве случаев, чем простой набор, так как названия файлов и папок могут быть длинными.

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

В заключение статьи скажу, что cmd.exe - это просто программа ввода-вывода, такая же, как и блокнот. Разумеется, есть более продвинутые аналоги, которыми тоже можно пользоваться. Одна из таких программ - Console Portable

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

Также можно добавить эту возможность (и целый ряд других) с помощью программы расширения контекстного меню FileMenu Tools :

Команда Path

Запускаемая на выполнение программа не обязательно должна находиться в текущем каталоге. Если файла нет в текущем каталоге, то производится его поиск в альтернативных каталогах, указанных командой PATH. Аргумент команды PATH содержит обозначения одного или нескольких маршрутов, разделяемых точкой с запятой, например:

PATH C:;C:DOS;D:WORKPROGRAMS

Операционная система запоминает список маршрутов, указанных в команде PATH, и использует его в дальнейшем всякий раз, когда пользователь выполняет внешнюю команду DOS или обращается из DOS к прикладной программе. Такая команда означает, что файл (типа СОМ, ЕХЕ или ВАТ), не найденный в текущем каталоге, следует искать сначала по маршруту С: , т. е. в корневом каталоге диска С; в случае неуспеха - по маршруту C:DOS, т.е. в подкаталоге 1-го уровня DOS, а затем - по маршруту D:WORKPROGRAMS.

Предписание альтернативных маршрутов становится очень удобным, если программы общего пользования сгруппированы в несколько каталогов.

Команда PATH обычно фигурирует в командном файле автозагрузки AUTOEXEC.ВАТ и срабатывает незаметно для пользователя. Узнать, какие альтернативные маршруты установлены в данный момент, пользователь может, давая команду PATH без аргументов.

Отменить установленные альтернативные маршруты можно командой PATH; .

Вызов программы из другого каталога можно также осуществить, снабдив имя запускаемой программы соответствующим префиксом: тогда файл будет загружаться из указанного префиксом каталога (независимо от установленных альтернативных маршрутов). Пример такого обращения к программе vicont:

A:> С:VICvicont

Рабочим здесь является диск А: , а программа vicon запускается из каталога VIC, находящегося на диске С: .

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

Команда Assign

Команда ASSIGN х=y позволяет переустанавливать логические имена дисков, связывая друг с другом пары имен. Например, после команды:

все обращения к диску с именем А: DOS заменяет на обращения к диску С: . Пар вида х=у в одной команде может быть несколько. Команда ASSIGN без параметров восстанавливает исходные имена накопителей.

Команду ASSIGN следует применять с осторожностью; основное ее назначение - заставить прикладную программу, работающую с фиксированным диском (например, А:), обратиться к другому физическому накопителю. В других целях применять ее не ре-комендуется.

Команда Format

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

В обращении к команде FORMAT можно указывать различные параметры. Первым параметром является имя накопителя, на котором установлен форматируемый диск. Пример простого обращения:

При таком обращении сначала выдается сообщение пользователю о необходимости установки в дисковод А: форматируемого диска. После этого он должен нажать клавишу "Исполнение", и программа форматирования начинает работать. Гибкие диски форматируются 30-40 секунд, форматирование жесткого диска может занять до 10 минут. По окончании форматирования выдается сообщение, в котором указывается объем диска, объем физически непригодных секторов и количество байтов, предоставляемых для работы.

Другие параметры - указатели режима форматирования задаются через разделитель /. Большинство из них относится к форматированию гибких дисков. Основные указатели:

/V - указывает на необходимость задания метки диска, которая вводится пользователем по окончании форматирования;

/S - указывает на необходимость переноса на диск операционной системы (трех файлов: BIO.SYS, MSDOS.SYS и COMMAND.COM);

/В - указывает на необходимость резервирования на диске места для файлов операционной системы, но без их фактического переноса.

Часть отформатированного пространства может быть занята под операционную систему (от 40 до 60 Кбайт, в зависимости от версии DOS), часть может оказаться исключенной из списка доступного пространства из-за дефектов на диске, обнаруженных при форматировании.

Команда Sys

Команда SYS позволяет перенести с текущего системного диска на другой диск (указанный в качестве параметра команды) два основных системных файла DOS - BIO.SYS и MSDOD.SYS (но не COMMAND.COM). При этом указанные файлы становятся "скрытыми" - они не показываются командой DIR, но об их присутствии яа диске сообщает команда CHKDSK. Следует иметь в виду, что DOS может быть перенесена командой SYS не на всякий диск, а только иа такой, который был отформатирован предварительно командой FORMAT с параметрами /S или /В, или на пустой отформатированный диск. Напомним, что команда форматирования с параметром /S выполняет делает ту же операцию, что и команда SYS, и, кроме того, добавляет на диск третий файл DOS - COMMAND.COM.

Перенесенная операционная система совпадает с той, которая в этот момент установлена на текущем системном диске. Номер текущей версии можно получить, с помощью команды VER.

Команды Vol и Label

Команда VOL предназначена для вывода метки диска и его серийного номера.

Формат команды:

Если не указано имя диска, подразумевается текущий диск.

Обычно метка диска вводится при его форматировании, если задан параметр /V команды FORMAT. Используя команду LABEL, это можно сделать и позднее. Эта команда предназначена для создания, замены и удаления метки диска. Формат команды:

LABEL [диск:][метка_диска]

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

На дистрибутивных дискетах MS-DOS расположены файлы io.sys, msdos.sys, wina20.386, командный процессор command.com, файлы внешних команд операционной системы (такие, как format.com, fdisk.exe и т. п.), драйверы и другие файлы.

После установки MS-DOS файлы io.sys, msdos.sys, wina20.386 и command.com переписываются в корневой каталог диска C:. Остальные файлы записываются в отдельный каталог, который по умолчанию называется dos (хотя при установке вы можете указать другое имя). Дополнительно в корневом каталоге формируются два текстовых файла с именами config.sys и autoexec.bat.

Для чего предназначены файлы, расположенные в корневом каталоге диска C:?

Файлы io.sys, msdos.sys и command.com являются основными компонентами MS-DOS. Опишем назначение этих и других файлов более подробно.

IO.SYS

Файл io.sys содержит расширение базовой системы ввода/вывода BIOS (Basic Input/Output System) и является интерфейсом между операционной системой и BIOS. Расширение используется операционной системой для взаимодействия с аппаратурой компьютера и BIOS.

Для того чтобы максимально уменьшить зависимость программ от особенностей аппаратного обеспечения компьютера используется многоступенчатая схема доступа программ к устройствам ввода/вывода. Согласно этой схеме программа никогда (в идеальном случае) не обращается непосредственно к портам аппаратуры. Вместо этого она взывает программное прерывание с нужным номером и запрашивает ту или иную функцию, загружая соответствующим образом регистры процессора.

Все программные прерывания можно разделить на две группы.

Первая группа - это прерывания базовой системы ввода/вывода BIOS. Обработчик этих прерываний записан в микросхеме постоянного запоминающего устройства (ПЗУ), расположенной на основной плате компьютера (motherboard). Обработчики прерываний BIOS работают с портами ввода/вывода стандартных устройств компьютера и обслуживают соответствующие аппаратные прерывания.

В мире выпускается очень много различных моделей основных плат для компьютеров, совместимых в той или иной степени с IBM PC. Использование BIOS позволяет до некоторой степени стандартизовать программный интерфейс с аппаратурой, так как производитель основной платы может учесть в BIOS все аппаратные особенности.

Вторая группа - прерывания MS-DOS. Обработчики этих прерываний находятся в файлах io.sys и msdos.sys.

Расширение базовой системы ввода/вывода MS-DOS, расположенное в файле io.sys, является как бы прослойкой между операционной системой MS-DOS и BIOS. Для выполнения операций ввода/вывода ядро MS-DOS обращается как к самой базовой системе ввода/вывода BIOS, так и к ее расширению, загружаемому в оперативную память из файла io.sys.

В результате применения такой многоступенчатой схемы была достигнута потрясающая совместимость операционной системы MS-DOS с аппаратурой. MS-DOS способна работать практически на любом компьютере, созданном любой фирмой. Лишь бы этот компьютер был хоть немного совместим с IBM PC.

MSDOS.SYS

Файл msdos.sys является в некотором смысле набором программ обработки прерываний, в частности прерывания INT 21h. Это ядро операционной системы.

Программы MS-DOS обращаются к прерыванию INT 21h в тех случаях, когда им нужно получить обслуживание от операционной системы. Например, заказать блок памяти, открыть файл или прочитать его содержимое, и т. д.

COMMAND.COM

Файл command.com - это так называемый командный процессор.

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

Так называемые внутренние команды (dir, copy и т. д.) обрабатываются именно командным процессором. Не ищите в каталоге dos файлы программ с именами dir.exe или copy.com - таких файлов там нет. Внутренние команды потому и называются внутренними, что их обработчик находится в самой операционной системе. Точнее говоря, в файле command.com, который является важнейшей компонентой операционной системы MS-DOS.

Программист может написать свой собственный командный процессор и подключить его вместо стандартного. Новый командный процессор должен выполнять все функции, которые раньше выполняла стандартная программа command.com.

CONFIG.SYS

Файл config.sys представляет собой текстовый файл, предназначенный для определения конфигурации MS-DOS, а также для загрузки драйверов и резидентных программ. Он создается автоматически программой установки MS-DOS и затем при необходимости редактируется пользователем. Для редактирования файла можно использовать текстовый редактор edit, который входит в состав MS-DOS.

AUTOEXEC.BAT

Для автоматического выполнения часто используемых последовательностей команд MS-DOS можно создать так называемый пакетный файл. Этот текстовый файл с расширением имени.bat в каждой своей строке содержит вызов внутренней или внешней команды MS-DOS, а также специальные операторы.

На этапе установки MS-DOS в корневом каталоге диска C: создается пакетный файл с именем autoexec.bat. Этот файл запускается сразу после загрузки MS-DOS и содержит команды определения среды выполнения программ, а также вызовы инициализирующих и резидентных программ.

WINA20.386

Файл с именем wina20.386, который записывается в корневой каталог программой установки MS-DOS, представляет собой виртуальный драйвер для операционной системы Microsoft Windows (о виртуальных драйверах Microsoft Windows вы можете прочитать в 17 томе нашей серии книг "Библиотека системного программиста").

Основное назначение виртуального драйвера wina20.386 - обеспечение совместной работы со старшей областью памяти HMA операционных систем MS-DOS и Microsoft Windows версии 3.0 в расширенном режиме. Так как в настоящее время подавляющее большинство пользователей работают с Microsoft Windows версии 3.1 или с Microsoft Windows for Workgroups, этот файл, скорее всего, не понадобится вам совсем. Вы можете удалить его с диска.

Драйверы

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

Обычно драйверы находятся в файлах, имеющих расширение имени.sys, хотя есть и драйверы, встроенные в MS-DOS. Драйвер подключается к операционной системе MS-DOS с помощью оператора device, расположенного в файле config.sys.

Загрузочный файл драйвера имеет специальный формат, который будет подробно описан в нашей книге.

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

Например, новое дисковое устройство может иметь другое количество дорожек и секторов, другие управляющие команды. Все это учитывается драйвером и базовой системой ввода/вывода BIOS, а прикладная программа будет работать с новым диском, как и раньше, используя прерывания BIOS и MS-DOS.

Внешние команды

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

Подробное описание внутренних и внешних команд выходит за рамки нашей книги. Основные команды описаны в первом томе нашей серии книг "Персональный компьютер - шаг за шагом". Сведения об остальных командах вы сможете найти в руководстве пользователя MS-DOS. Кроме того, в продаже есть много книг, посвященных командам MS-DOS.

Расскажем немного о программах, предназначенных для подготовки дисков и дискет.

Подготовка системной дискеты

Файлы операционной системы выделяются своим особым расположением на диске (кроме файла command.com) - эти файлы должны находиться в специально отведенном для них месте. Если вам нужно подготовить системную дискету (т. е. такую, с которой можно загружать операционную систему), для переноса файлов операционной системы следует использовать специальные средства. Если вы просто скопируете файлы msdos.sys и io.sys на чистую дискету, она от этого не станет системной.

Самый простой способ подготовки системной дискеты - отформатировать ее при помощи внешней команды format с параметром /s, например:

c:\>format a: /s

В этом случае после форматирования на дискету будут перенесены файлы операционной системы.

Вы можете также перенести системные файлы на дискету командой sys:

c:\>sys c:

Перед тем как вводить эту команду, сделайте текущим корневой каталог диска C:, так как в противном случае программа sys.com не сможет найти файлы io.sys, msdos.sys и command.com (что довольно странно, эти файлы найти достаточно легко).

Программа FDISK

Программа fdisk предназначена для подготовки жесткого диска к работе. Она разбивает диск на участки, называемые разделами.

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

Программа fdisk позволяет создать для MS-DOS первичный и вторичный раздел. В первичном разделе располагается системный диск C:, с которого выполняется загрузка операционной системы, вторичный раздел может быть разделен на логические диски (D:, E:, F: и т. д.). Диски, расположенные во вторичном разделе, не могут быть системными.

Заметим, что старые версии MS-DOS (до версии 4.0) позволяли создавать логические диски размером не более 32 Мбайт. Это связано с тем, что эти версии использовали 16-разрядную адресацию секторов диска, что недостаточно для дисков больших размеров.

Иногда вместо программы fdisk для подготовки жесткого диска используются специальные программы, такие как Advanced Disk Manager, Speed Stor и т. д. Используя свои собственные форматы разделов и таблиц разделов (и свои драйверы дисковых устройств), перечисленные выше программы предоставляют такие дополнительные возможности, как защита логического диска от записи или организация парольной защиты данных на диске. При этом для доступа к нестандартному разделу используется специальный драйвер.

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

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

Некоторые программы, особенно защищенные от копирования, отказываются работать на диске, подготовленном нестандартными средствами. Причины этого мы объясним в следующем томе, когда будем обсуждать проблемы защиты программ от несанкционированного копирования.

Резидентные программы

Обычные программы MS-DOS удаляются из оперативной памяти сразу после своего завершения. В отличие от них резидентные программы остаются в памяти и могут быть активизированы при помощи заранее заданной комбинации клавиш, по инициативе другой программы, либо как результат возникновения аппаратного прерывания.

В некоторых случаях резидентные программы выполняют функции драйвера устройства ввода/вывода. Однако чаще они используются, для того чтобы пользователь, работая с какой-либо программой, мог запустить другую, не прерывая работу с текущей программой.

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

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

В качестве альтернативы пользователь MS-DOS версий от 5.0 и выше может использовать переключатель задач. Однако этот способ имеет свои недостатки.

Спецификация команды: MORE

Внешняя команда.

Команда используется как фильтр для дробления на порциии большого объёма текстовой информации, выдаваемой на консоль другими командами DOS. Порция имеет размер экрана (24 строки). По заполнении экрана делается пауза.

MORE может быть использована как самостоятельная команда для вывода на экран указанного в команде файла.

Примеры:

Спецификация команды: PROMPT

Встроенная команда.

PROMPT без параметра устанавливает стандартное приглашение (имя накопителя и знак "больше") к приёму команд DOS. Задание формата приглашения осуществляется особой строкой, состоящей из обычных текстовых символов и специальных управляющих символов. Управляющие символы снабжаются префиксом – знаком $, чтобы отличить их от обычных символов.

Наиболее часто используются следующие управляющие символы:

$p - выдача имени текущего (рабочего) каталога
$d - выдача текущей даты
$g - выдача символа-разделителя
$b - выдача символа-разделителя "|"
$h - стирание предыдущего символа
$e - начало выдачи Esc-последовательности
$n - выдача имени текущего накопителя

Реже используются следующие управляющие символы:

$q - выдача символа-разделителя "="
$l - выдача символа-разделителя "<"
$$ - выдача символа "$"

$_ - этот символ (подчерк) указывает на необходимость перехода на следующую строку

Строка "$p$g" в качестве параметра команды PROMPT обеспечивает выдачу приглашения, которое используется наиболее часто. Оно содержит лишь имя текущего каталога и имеет вид:

Здесь подстрока C:\WORK выдается под управлением символов $p, а знак > - под влиянием символов $g. Если бы управляющая строка имела вид "$t $d $b $p$g", то в приглашение были бы включены довольно длинные сообщения о времени и дате:

13:55:34.05 Mon 11-25-85 | C:\WORK>

Чтобы подавить выдачу секунд и долей секунд в таком приглашении, можно применить управляющие символы стирания $h; при этом их число должно соответствовать числу удаляемых символов.

Спецификация команды: BREAK

Встроенная команда.

Если BREAK находится в состоянии OFF, то прервать выполнение программы по CTRL-BREAK можно лишь при её обмене с дисплеем, принтером, клавиатурой или коммуникационным каналом.

Если BREAK=ON, то проверка CTRL-BREAK происходит во всех случаях, когда программа обращается к какой-либо функции DOS. Это позволяет прерывать исполнение программ, которые не обмениваются (или мало обмениваются) со стандартными устройствами. По умолчанию BREAK находится в состоянии OFF.