CONFIG.SYS和AUTOEXEC.BAT文件的多重配置 湖南 蒋 晖 1996-04-19 一、CONFIG.SYS的多重配置 CONFIG.SYS内的命令可以编成几个配置块(简称块BLOCK),用户可以以在屏幕菜单上点菜的形式,来选择本次开机需要的系统配置。 (一)MENU块 MENU块的命令有5种,分别为MENUITEM、MENUDEFAULT、MENUCOLOR、SUBMENU以及常用相关命令INCLUDE。 ①menuitem命令 语法:menuitem=块名称[,菜单正文] 当menuitem命令只有块名称,而没注明菜单正文时,会将块名称作为菜单正文显示于屏幕;如果同时包含块名称与菜单正文时,会将菜单正文显示到屏幕,而不是显示块名称。 菜单正文最多可以有70个字符,一条menuitem命令可以表示菜单中的一个块名称,menu块最多只能有9条menuitem命令。 ②menudefault命令 语法:menudefault=块名称[,时限] 本命令表示当菜单出现后,如果用户未于限定的时间内选择某个块,则系统会默认选择menudefault指定的块名称。 时限为0-90秒,采取倒计时方式。 ③menucolor命令 语法:menucolor=X[,Y] 用户用于设置屏幕颜色。默认为黑底白字显示。 其中:参数X为正文颜色,Y为背景颜色。 X、Y对应颜色如下: 0 黑色(black) 1 蓝色(blue) 2 绿色(green) 3 青蓝色(cyan) 4 红色(red) 5 紫色(purple) 6 棕褐色(brown) 7 白色(white) 8 灰色(grey) 9 浅蓝色(light blue) 10 浅绿色(light green) 11 浅青蓝色(light cyan) 12 浅红色(light red) 13 浅紫色(light purple) 14 黄色(yellow) 15 浅白色(light white) ④submenu命令 语法:submenu=块名称[,菜单正文] 设置二级菜单命令,类似于menuitem命令。只可用于CONFIG.SYS的menu块。用户选择submenu指定的块时,系统视该块为下一级的menu块,且由其产生下一级菜单。该块名称为除menu以外的其它任何块名称,其可用命令与menu块的五种命令一样。 ⑤include命令 语法:include=块名称 将include命令所指定的块包含到当前块中。实现了块间的共享,可简化CONFIG.SYS文件内容。 二COMMON块 common块为公共块。该块中的命令无论用户如何选择均被执行。同一个CONFIG.SYS文件内,如拥有多个common块,系统会根据其先后顺序,连续执行。 三.AUTOEXEC.BAT的多重配置 当MS-DOS执行了CONFIG.SYS的多重配置时,系统会将用户所选择的块名赋于环境变量CONFIG.SYS,以便在AUTOEXEC.BAT中根据所选配置块来执行相应的命令。 环境变量在自动批处理文件AUTOEXEC.BAT中的用法: goto %config% 如:用户选择ucdos配置块,则环境变量config=ucdos,goto %config%表示自动批处理跳到标号为ucdos处执行。 在各个块将分别执行的命令最后面,附加goto end命令。 在AUTOEXEC.BAT结尾部分附加end标号(:END)。如果END下方仍有命令,这些命令将被所有块执行。 举例 (1)CONFIG.SYS [menu] menuitem=ucdos,ucdos 3.1 menucolor=7,1 menudefault=ucdos,30 numlock=on submenu=game,play game [common] buffers=30 files=30 [game] menuitem=san4 menuitem=koei [san4] device=c:\dos\himem.sys device=c:\dos\setver.exe device=c:\dos\emm386.exe ram device=c:\dos\mouse.sys [koei] include=san4 调用san4块的全部配置 dos=high [ucdos] device=c:\dos\himem.sys dos=high [common] (2)AUTOEXEC.BAT @echo off prompt $p$g goto %config% 引用环境变量CONFIG :ucdos path c:\dos;c:\ucdos;c:\cced c:\ucdos\rd16 %1 c:\ucdos\knl %2 c:\ucdos\py goto end :san4 cd\san4 san4 goto end :koei cd\koei play goto end :end c:\dos\doskey echo on