你会编制多重配置的启动文件吗?

Author: 辽宁 潘云 段宁 Date: 1996-10-18

        先编多重配置的config.sys文件。假如机器的原config.sys文件是:(右面中文为解释)
        DEVICE=C:\DOS\HIMEM.SYS        (加载扩展内存访问管理程序)
        DEVICE=C:\DOS\EMM386.EXE RAM   (加载扩充内存管理程序)
        BUFFERS=30,4   (设置缓冲区,依内存大小而定,一般设为30)
        FILES=30        (设置允许同时打开的文件的最大数)
        DOS=UMB,HIGH   (将DOS加载到上位内存或高端内存)
        DEVICEHIGH/L:1,13920=C:\ECS\ECSCDAT.SYS/D:ECSCD001  (加载光驱的驱动程序)
        SHELL=C:\DOS\COMMAND.COM C:/P  (指定DOS外壳)
        STACKS=9,256 (设置堆栈数)
        下面以这个config.sys文件为基础,编辑一个多重配置的config.sys文件。基本思路是先编一个菜单,菜单的项目你需要几项就可以编几项,然后再根据各个项目需要的配置逐项编配(简便的方法是以原config.sys文件为基础,整段整句进行选编),基本格式是菜单名下面为菜单项,每一内容为一行,段与段之间空一行。为了让初学者更为明了,本例采用常用的几个系统作为例子。(后面中文为解释)
        [menu]                                      [菜单]
        menuitem=DOS,The configuration for DOS        菜单项名DOS,为DOS配置
        menuitem=Win,The configuration for WINDOWS    菜单项名WIN,为WINDOWS配置
        menuitem=UCDOS,The configuration for UCDOS    菜单项名UCDOS,为UCDOS配置
        submenu=YX,Da,Xiao,The configuration for YX   子菜单名游戏,大,小,为游戏配置
        menudefault=Win,10                            默认菜单 Win,等待时间10秒(自定)
        空一行
        [common]                                   [公用命令]
        BUFFERS=30,4
        FILES=30
        FCBS=4,0
        SHELL=C:\DOS\COMMAND.COM C:/P
        STACKS=9,256
        空一行
        [DOS]                                      DOS菜单项内容
        DEVICE=C:\DOS\HIMEM.SYS                    使用DOS时的配置
        DEVICE=C:\DOS\EMM386.EXE RAM
        DEVICEHIGH/L:1,13920=C:ECS\ECSCDAT.SYS/D:ECSCD001 (加载光驱)
        [Win] Win菜单项内容
        DEVICE=C:\DOS\HIMEM.SYS 使用Windows的配置
        DEVICE=C:\DOS\EMM386.EXE noems (因为Windows可直接管理扩充内存,故设noems)
        DEVICEHGH /L:1,13920=C:\ECS\ECSCDAT.SYS/D:ECSCD001 (加载光驱)
        [UCDOS] UCDOS菜单项内容(使用UCDOS时的配置,由于UCDOS可以自己配置内存环境,故可设可不设)
        (空一行)
        [YX] 游戏菜单项内容 下面还有子菜单
        menuitem Da,The configuration for DA YX     子菜单项名Da,为大游戏配置
        menuitem Xiao,The configuration for Xiao yx 子菜单项为Xiao,为小游戏配置
        menudefault Xiao,8  默认子菜单,Xiao,等待8秒
        [Da]   为大游戏配置
        DEVICE=C:\DOS\HIMEM.SYS
        DEVICEHIGH/L:1,13920=C:\ECS\ECSCDAT.SYS/D:ECSCD001
        空一行
        [Xiao] 为小游戏设置
        DEVICE=C:\DOS\HIMEM.SYS
        DEVICE=C:\DOS\EMM386.EXE RAM
        DEVICEHIGH /L:1,13920=C:\ECS\ECSCDAT.SYS/D:ECSCD001 (完)
        由上可知,多重配置的config.sys实际就是将多个config.sys并列在一起,而这些config.sys实际上是由一个config.sys演变出来的,且又是紧紧围绕如何对内存进行配置的。只不过前面编了一个可选的菜单,而后面的则是为了少用文字,将各项的共同部分提了出来作为一小段共同命令ap[common],其它略有不同的才做了分别编配,需注意的是,“菜单”和“菜单项”必须用固定语句[menu]和“menuitem”,公共命令也须用固定语句[common],否则机器会不认识。菜单项目名字可以自取,以直观为好,需用方括符括上,菜单项可多可少,也可不用子菜单项,视具体要求而定。
        接下来再编辑与之相对应的Autoexec.bat文件。即如果在Config.sys中选择了某项,则Autoexec.bat也只执行对应项的内容。假如机器的原Autoexec.bat文件是:
        @ECHO OFF  (加载过程显开关)
        C:\WINDOWS\ESSCFG.EXE /I:7 /D:1 (载入声卡驱动程序)
        C:\WINDOWS\ESSVOL.EXE /V:8 /L:8/W:8 /M:0 /C:8 /S:8 (载入音响图形界面)
        LH C:\DOS\AMOUSE\AMOUSE /2 (装入鼠标)
        LH /L:0;1,46992 /S C:\WINDOWS\SMARTDRV.EXE 1024 512 /Q (装入磁盘加速驱动程序)
        LH /L:1,36224 C:\ECS\MSCDEX /V/D:ECSCD001 /M:10 (装入光驱管理程序)
        PATH C:\DOS;C:\WINDOWS;C:\UCDOS;C:\YLDICT (指定查找文件的路径及次序)
        SET TEMP=C:\TEMP (指定临时文件放置的位置)
        下面以这个Autoexec.bat文件为基础,编一个与config.sys相对应的多重Autoexec.bat文件。(第一段依然为共同内容)
        @ECHO OFF
        PATH C:\DOS;C:\WINDOWS;C:\WIN31;C:\UCDOS;C:\YLDICT
        SET TEMP=C:\TEMP
        GOTO%config% (此句为固定语句,意为转到config.sys对应的:项上)
        :DOS (如果选择了DOS,DOS加载的内容如下。注意前面的冒号:一定不能忽略)
        C:\WINDOWS\ESSCFG.EXE/I:7 /D:1
        C:\WINDOWS\ESSVOL.EXE/V:8/L:8/W:8/M:0/C:8/S:8
        LH C:\DOS\AMOUSE\AMOUSE/2
        LH /L:O;1,46992/S C:\DOS\SMARTDRV.EXE 2048 512 /Q
        GOTO END (此句也为固定语句,意为运行到此结束)
        :Win (同上)
        C:\WINDOWS\ESSCFG.EXE/I:7 /D:1
        C:\WINDOWS\ESSVOL.EXE/V:8/L:8/W:8/M:0/C:8/S:8
        rem /L:O;1,46992 /S C:\WINDOWS\SMARTDRV.EXE 1024 512/Q
        LH/L:1,36224 C:\ECS\MSCDEX/V/D:ECSCD001 /M:10
        GOTO END (此句也为固定语句,即运行到此结束)
        :UCDOS (如果选择进入UCDOS,即执行:UCDOS的内容。)
        LH C:\DOS\AMOUSE\AMOUSE/2
        Call UCDOS (呼出UCDOS批处理命令)
        GOTO END
        :Da  (如果希望玩大游戏,选择YX后再选择此即可)
        C:\WINDOWS\ESSCFG.EXE/I:7/D:1
        C:\WINDOWS\ESSVOL.EXE/V:8/L:8/W:8/M:0/C:8/S:8
        LH/L:1,36224 C:\ECS\MSCDEX/V/D:ECSCD001 /M:10
        LH C:\DOS\AMOUSE\AMOUSE/2
        GOTO END
        空一行
        :Xiao (如果只是玩小游戏,选择YX后再选择此即可)
        C:\WINDOWS\ESSCFG.EXE /I:7 /D:1
        C:\WINDOWS\ESSVOL.EXE /V:8/L:8/W:8/M:0/C:8/S:8
        LH/L:1,36224 C:\ECS\MSCDEX/V /D:ECSCD001 /M:10
        LH/L:0;1,46992 /s C:\DOS\SMART DRV.EXE 1024/Q
        LH C:\DOS\AMOUSE\AMOUSE/2
        GOTO END
        :END (此句也为固定语句,即到此全部结束)
        由此可见,多重配置的config.sys和Autoexec.bat是一一对应的,只要明白了其中几个固定语句的意义以及基本格式就很容易编制这两个文件。文件编好后重新启动机器,会出现4个菜单供你选择。
        1.The configuration for DOS
        2.The configuration for WINDOWS
        3.The configuration for UCDOS
        4.The configation for YX
        menudfault Win,10
        机器同时以10秒为限倒计时,倘若你10秒钟未作出选择,机器将自动进入到默认的系统中。(此例默认为Windows)
        上例配置较为简单,主要是授以原则和方法,也可以把其作为一公式。待你对内存管理和文件运行的环境有了一定的运用能力后,还可以编制得更精细一些。