CONFIG.SYS和AUTOEXEC.BAT文件的多重配置

Author: 湖南 蒋 晖 Date: 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