一个CONFIG.SYS文件可以定义几种不同的系统配置。 在定义多种配置时,可使用下列特殊的CONFIG.SYS命令:
定义多种配置的一般步骤如下:
1 在CONFIG.SYS文件中,以[menu]开头,后跟一个或多个<MENUITEM>命令来定义启动菜单。<MENUDEFAULT>,<MENUCOLOR> 和<SUBMENU>命令可用来定义启动菜单的特殊属性。
2 在CONFIG.SYS文件中,为每个配置创建配置块。 每个配置块用一个块头 ─ 由方括号括起来的名字开始。 每个块中加入所需执行的<CONFIG.SYS命令>,系统根据菜单选择执行不同的配置。
3 (可选)在AUTOEXEC.BAT文件中,使用<批处理命令>,如 <GOTO> 和<IF>,以便MS-DOS根据启动配置,来执行不同的AUTOEXEC.BAT命令。
当从启动菜单中选定某个配置时,MS-DOS将定义环境变量CONFIG,并设置其值为选定的配置块名。 为让MS-DOS根据不同的CONFIG值,执行不同的命令集,可在文件AUTOEXEC.BAT中加入一条GOTO %CONFIG%命令。
有关定义多配置的详细信息,参见《MS-DOS 6.22用户手册》中“系统配置”一章。
在CONFIG.SYS文件中定义多种配置
下面的CONFIG.SYS文件中定义了两个配置:
| [Menu] menuitem=Steve menuitem=Lisa [Common] dos=high buffers=15 device=c:\dos\himem.sys [Steve] files=20 device=c:dos\emm386 2048 [Lisa] files=40 device=c:\net\network.sys [Common] |
此CONFIG.SYS为Steve和Lisa定义了不同的配置。 对于这两个配置,MS-DOS均执行了[comon]段中的三个命令: DOS=HIGH,BUFFERS=15和DEVICE=C:\DOS\HIMEM.SYS。Steve使用桌面排版系统,需要扩充内存,因此该配置包含一条EMM386命令,而它并不使用网络。 Lisa使用网络,但并不使用桌面排版系统,因此它启动了网络驱动程序。
在AUTOEXEC.BAT文件中定义多配置
当从启动菜单中选定了一种配置后,MS-DOS定义了一个名为CONFIG的环境变量,并将其值设置为选定配置块的名称。 在AUTOEXEC.BAT文件,可用<GOTO>命令针对不同的CONFIG变量执行不同的命令集。
下面的AUTOEXEC.BAT文件针对CONFIG变量使用GOTO命令执行不同的命令集。 这个AUTOEXEC.BAT文件应配合前面的CONFIG.SYS文件。
| c:\dos\smartdrv.exe set temp=c:\temp c:\dos\msav ; Go to the section that matches the current ; value of the CONFIG variable goto %config% :Steve path=c:\dos;c:\deskpub;c:\typeset c:\mouse\mouse.com deskpub ; now skip Lisa's section & go to end goto end :Lisa path=c:\dos;c:\network;c:\utility doskey net logon lisa goto end :end |
当MS-DOS运行该AUTOEXEC.BAT文件时,它将启动SMARTDrive,设置TEMP环境变量,并启动MS-DOS防病毒程序。 MS-DOS然后转向与环境变量CONFIG相匹配的段。
如果选定的配置名为Steve,MS-DOS转向Steve段。它将为Steve设置搜索路径,装入C:\MOUSE目录的MOUSE.COM程序,然后运行桌面排版系统。 GOTO END指示MS-DOS跳转到END段,从而保证了Lisa段中的命令不被执行。
如果当前配置为Lisa,则将设置不同的搜索路径,MS-DOS运行Doskey程序,执行Logon命令指示网络驱动程序(已由CONFIG.SYS文件装入),将计算机连接到网络。