С помощью системного файла конфигурации CONFIG.SYS можно расширять возможности DOS. Файл является текстовым файлом и может корректироваться простейшим текстовым редактором. Это позволяет легко изменять некоторые параметры, влияющие на работу внешних устройств, добавлять драйверы новых устройств.
Типовыми командами конфигурации, которые могут включаться в файл CONFIG.SYS, являются следующие:
BREAK — установка/отключение возможности прерывания работы программ по комбинации <CTRL>+<BREAK>;
BUFFERS — установка числа буферов для обмена с дисками. Увеличение количества буферов ускоряет работу с дисками, но уменьшает объем свободной памяти;
DEVICE — подключение к DOS новых драйверов внешних устройств;
DOS — устанавливает режим загрузки DOS. Имеет параметры HIGH|LOW,UMB|NOUMB (upper memory blocks). Параметры HIGH и UMB указывает системе на необходимость загружаться в верхних адресах ОЗУ, что увеличивает объем свободной памяти для задач пользователя;
FILES — установка числа одновременно открытых файлов (обычно не менее 20). В ходе работы в системе больше файлов открыть нельзя.
LASTDRIVE — установка числа логических накопителей (по умолчанию A — E). Остальные литеры могут быть задействованы только под сетевые диски;
SHELL — задание имени и параметров нового командного процессора. Автоматически устанавливает переменную COMSPEC=.
FCBS — установка числа управляющих блоков для файлов. Увеличение количества блоков ускоряет работу с дисками, но уменьшает объем свободной памяти.
В последних версиях MS DOS появилась система блоков в файле конфигурации. Имя блоков заключено в квадратные скобки. Стандартные блоки: [Common] — блок для общего исполнения, [Menu] — блок меню. Этот блок содержит команды MenuItem=<имя блока>[, текст меню], SubMenu=<имя блока>[, текст меню], MenuDefault = <имя блока>[, timeout], MenuColor=x[,y]. Эти команды позволяют создать меню, которое выдается на экран дисплея, что позволяет пользователю выбирать конфигурацию загрузки непосредственно при загрузке ОС. (пример в C:\DOS\BOOTDISK.)
Пакетные файлы принадлежат к категории исполняемых файлов. Эти файлы имеют расширение .BAT (от слова batch — пакет, пачка). Запуск таких файлов осуществляется также как файлов и .COM и .EXE файлов, то есть по имени. Такие файлы могут содержать целую группу команд DOS, или обращений к прикладным программам, которые выполняются последовательно или в зависимости от условий. Т.о. по форме это простые текстовые файлы, которые могут создаваться и редактироваться простейшими текстовыми редакторами.
Команды, которые часто включаются в пакетные файлы или могут быть исключительно только в пакетных файлах, следующие:
Установка списка каталогов, в которых производится поиск программ, если указывается только имя внешней команды:
PATH=C:\DOS;C:\VC
Переменная PATH содержит список каталогов, перечисленных через точку с запятой. При выполнении внешних команд (если указано только имя) поиск осуществляется исключительно только в этих каталогах.
Установка формата строки приглашения MS DOS
PROMPT <текст приглашения>
В тексте приглашения используют тексты и управляющие символы, т.е. сочетания спецсимвола и литеры (знак $ — отличает управляющий символ от текстового). Типовые управляющие символы:
$p — выдавать имя текущего каталога;
$n — выдавать имя текущего накопителя;
$d — выдача текущей даты;
$t — выдача текущего времени;
$g — выдача символа > (разделителя); чаще всего именно этот символом использовался как последний символ в строке приглашения.
Установка переменных окружения
SET <переменная>=<значение>
Наиболее важными переменными являются переменные PATH и TMP или TEMP. Переменная PATH и альтернативный способ её задания описаны выше. Переменная TMP (для совместимости со старыми программами задается и переменная TEMP) определяет, куда программы должны располагать временные файлы. При сбое программы или недоработке, такие файлы часто остаются на диске и занимают лишнее место. А использование переменной TMP/TEMP обеспечивает сосредоточие таких файлов в одной папке, которую можно просто периодически очищать без оглядки.
Включение/отключение эха, выдачи команд пакетного файла
ECHO ON | ECHO OFF
Приостановка выполнения пакетного файла до нажатия любой клавиши
PAUSE
Комментарий, в тексте пакетного файла
REM <текст комментария>
Оператор перехода на метку в тексте пакетного файла
GOTO
Логический оператор имеет несколько фиксированных форматов
IF errorlevel <number> <command> | IF <string1 == string2> <command> | IF exist <filename> <command>
Метка отдельной команды пакетного файла
:имя метки
Оператор цикла в пакетном файле
FOR %var in (set) DO command
При написании команд пакетного файла возможно использование формальных параметров, отделяемых знаком %. Такой файл при запуске может сопровождаться параметрами.