Пример определения нескольких конфигураций
Приведем файлы CONFIG.SYS и AUTOEXEC.BAT, в которых определены четыре различных конфигурации. Первая конфигурация предназначена для работы в среде MS-DOS. Остальные три конфигурации относятся к операционной системе Windows. Первая конфигурация Windows позволяет получить больше расширенной памяти для приложений, вторая оставляет больше памяти программам MS-DOS, запускаемым из Windows и последняя позволяет увеличить скорость работы системы. [Menu]
MENUITEM=MsDos, Конфигурация для работы в MS-DOS
MENUITEM=WinMoMem, Windows, больше расширенной памяти
MENUITEM=WinMoDos, Windows, больше памяти для MS-DOS MENUITEM=WinSpeed, Windows, увеличение скорости
MENUCOLOR=l 5,1
MENUDEFAULT=WinSpeed,7
[Common]
DEVICE=C:\DOS\HIMEM. SYS
DOS=HIGH
[MsDos]
DEVICE=C:DOS\EMM386 NOEMS
DOS=HIGH,UMB
[WinMoMem]
DOS=HIGH
[WinMoDos]
DE VICE=C: DOS\EMM386 NOEMS
DOS=HIGH,UMB
[WinSpeed]
DEVICE=C:\DOS\RAMDRIVE.SYS 2048 /Е
[Common] FILES=40
Файл CONFIG.SYS, представленный выше, состоит из нескольких блоков. Первый блок с именем [Main] содержит описание меню из четырех строк. Меню отображается белыми символами на синем фоне.
Конфигурация для работы в MS-DOS Windows, больше расширенной памяти Windows, больше памяти для MS-DOS Windows, увеличение скорости
Если в течении 7 секунд после отображения меню вы не выберите какую-нибудь строку меню, автоматически выбирается строка "Windows, увеличение скорости".
После выбора конфигурации, нажмите клавишу <Enter>. Для всех конфигураций исполняются команды, находящиеся в первом блоке [Common]. В нем расположены две. команды: DEVICE=C:\DOS\HIMEM.SYS и DOS=HIGH. Эти команды загружают драйвер управления расширенной памятью HIMEM.SYS, и разрешают MS-DOS использовать область старшей памяти.
После этого будут выполнены команды из блока, соответствующего выбранному элементу меню - [MsDos], [WinMoMem], [WinMoDos] или [WinSpeed]. Коротко опишем команды из каждого перечисленного блока. "Конфигурация для работы в MS-DOS". В блоке [MsDos] представлена конфигурация для операционной системы MS-DOS. Чтобы увеличить объем свободной стандартной памяти, доступной программам, загрузим драйверы и резидентные программы в расширенную память. Остальную расширенную память отведем под буфер дискового кеша. Драйвер дискового кеша устанавливается позже, в файле AUTOEXEC.BAT. "Windows, больше расширенной памяти". Блок [WinMoMem] определяет конфигурацию для максимального освобождения расширенной памяти. В этом случае резидентные программы и драйверы не загружаются в расширенную память. Чтобы освободить больше расширенной памяти, уменьшим также размер буфера дискового кеша в файле AUTOEXEC.BAT.
"Windows, больше памяти для MS-DOS". Блок [WinMoDos] содержит конфигурацию, в которой при работе в операционной системе Windows освобождается максимум стандартной памяти для программ MS-DOS. Чтобы увеличить объем свободной стандартной памяти, доступной программам, драйверы и резидентные программы загружаются в расширенную память. Часть остальной расширенной памяти отведена под буфер дискового кеша, а часть оставлена для Windows.
"Windows, увеличение скорости". Блок [WinSpeed] содержит конфигурацию, позволяющую ускорить работу приложений Windows и программ MS-DOS, запущенных из Windows. Для ускорения работы системы, подключен драйвер электронного диска RAMDRTVE.SYS. У вас появится еще один логический диск, например
Е:, на котором создайте каталог TEMP для временных файлов. Чтобы временные файлы создавались на электронном диске, в файле AUTOEXEC.BAT определите переменную среды TEMP.
В заключение выполняется команда files=40, расположенная в последнем блоке [Common]. На этом интерпретация файла CONFIG.SYS заканчивается и MS-DOS начинает выполнять командный файл AUTOEXEC.BAT.
В файле AUTOEXEC.BAT организуем ветвление, основываясь на конфигурации, выбранной в меню файла CONFIG.SYS:
PATHC:\WIN;C:\DOS;C:\NORTON;C:\UT;D:\WINWORD;
C:\DOS\MODE >NUL CON CP PREP=((866) C:\DOS\EGA.CPI) C:\DOS\MODE >NUL CON CP SEL=866
LOADHIGH C:\UT\SWAKEYB.COM
GOTO %CONFIG%
:MsDos
DEVICEHIGH=C:\DOS\SM ARTDRV. EXE 8192
C:\NORTON\NC.EXE
GOTO End
:WinMoMem
SET TEMP=C:\TEMP
DEVICE=C:\DOS\SMARTDRV.EXE 2048 512
WIN.COM
GOTO End
:WinMoDos
SET TEMP=C:\TEMP
DEVICEHIGH=C:\DOS\SMARTDRV.EXE 4096 1024 LOADHIGH C:\WIN\MOUSE.COM
WIN.COM
GOTO End
:WinSpeed
SET TEMP=E:\TEMP
DEVICE=C:\DOS\SMARTDRV.EXE 4096 512
C:\WIN\MOUSE.COM
WIN.COM
GOTO End
:End
Когда MS-DOS начинает выполнять команды из файла AUTOEXEC.BAT, сначала происходит установка переменной окружения PATH, затем загружаются шрифты, содержащие символы кириллицы и резидентная программа русификации клавиатуры.
Потом по команде GOTO %CONFIG%, управление передается на метку, соответствующую имени выбранного блока конфигурации в файле CONFIG.SYS. Имена этих блоков конфигурации перечислены в меню в файле CONFIG.SYS.
Таким образом, в зависимости от того, какая конфигурация будет выбрана из меню, управление перейдет на одну из меток - MsDos, WinMoMem, WinMoDos или WinSpeed. При этом для каждой конфигурации выполняются только свои команды. После выполнения команд, следующих за метками, управление переходит на метку End и на этом исполнение командного файла AUTOEXEC.BAT завершается.