Board logo

标题: Config.sys & Autoexec.bat 文件的详细介绍 [打印本页]

作者: yuanbao     时间: 2005-8-18 20:00    标题: Config.sys & Autoexec.bat 文件的详细介绍
--------Config.sys--------
[MENU]
MENUITEM=SUB_1 DOS
MENUITEM=SUB_2 DOS & CDROM
MENUITEM=SUB_3 MS_Windows
MENUCOLOR=15,1
MENUDEFAULT=SUB_3,10
[SUB_1]
DEVICE=HIMEM.SYS /TESTMEM:OFF
DEVICE=EMM386.EXE RAM NOEMS I=B000-B7FF
LASTDRIVE=Z
DOS=HIGH,UMB
FILES=96
STACKS=9,512
[SUB_2]
DEVICE=HIMEM.SYS /TESTMEM:OFF
DEVICE=EMM386.EXE RAM I=B000-B7FF
DEVICEHIGH=C:\CDROM\TEAC_CDI.SYS /D:MSCD001
LASTDRIVE=Z
DOS=HIGH,UMB
FILES=96
STACKS=9,512
[SUB_3]
[COMMON]
LASTDRIVE=Z
格式如下:
[MENU]
MENUITEM=块名,菜单内容
MENUCOLOR=X,Y
MENUDEFAULT=块名,时间值
[块名]
…………
[COMMON]
…………
  这是一个多重配置的命令格式,其中[MENU]块是必不可少的,它定义了启动菜单的菜单项及颜色等信息,其它的块大多以某个菜单项的名字来命名,当选中菜单项时则执行与它相应的块里面的语句;[COMMON]为公共项,无论选择哪个菜单项,公共项里面的命令都将被执行。

  MENUITEM=SUB_1 系统定义了一个菜单项,格式为:
  MENUITEM=块名 菜单内容
  块名:当选中此菜单项时,将执行的配置块的名字。
  菜单内容:显示启动菜单时,出现在屏幕上的内容。 此项为可选项,指定它则启动显示菜单时只显示它而不显示块名,否则启动菜单上显示的是块名。
  MENUCOLOR=15,1定义了启动菜单的前景色和背景色,格式为:MENUCOLOR=X,Y
  X:指定菜单中文字的颜色,其值为0~15。
  Y:指定菜单中背景颜色,其值为0~15,缺省值为0,即黑色。
  MENUDEFAULT=SUB_3,10定义了启动菜单的一个缺省选择项,并设定了一个超时限定值。格式如下:

  MENUDEFAULT=块名,时间值
  块名:缺省菜单项的块名。
  时间值:规定在等待多少秒后如果还未按键,系统将执行缺省菜单项相应的菜单块。

  DEVICE=C:\PWindows 98\HIMEM.SYS /TESTMEM:OFF 加载扩展内存管理程序,其中"/TESTMEM:OFF"表示加载扩展内存管理程序时不检测内存。
  DEVICE=C:\PWindows 98\EMM386.EXE RAM NOEMS I=B000-B7FF 加载扩充内存管理程序(必须先加载扩展内存管理程序)。"RAM"表示将640K~1024K之间闲余的内存提交给DOS管理,此空间即为UMB(上位内存块),"NOEMS"表示系统不提供任何扩充内存的功能,缺少情况下EMM386管理程序会将扩展内存模拟成扩充内存。"I=B000-B7FF"表示将地址为B000~B7FF(供单色显示器映射ROM用)的32K大小的内存释放成为UMB。

  DEVICEHIGH=C:\CDROM\TEAC_CDI.SYS /D:MSCD001 将光驱驱动程序装载入上位内存。注意如果要在DOS下面使用光驱,最好在配置Config.sys前运行一下光驱在DOS下面驱动程序的安装文件,然后将此安装程序在Config.sys和Autoexec.bat两文件中添加的语句记下来,在配置多重启动时把这些语句加进去。因为各类光驱的驱动程序都不尽相同,所以只能这么配置。

  LASTDRIVE=Z 指定系统可分配的最后一个驱动器号,其值取A~Z。
  DOS=HIGH,UMB表示DOS管理由EMM386.EXE创建的UMB,并将自身的一部分装入HMA(高端内存)。
  FILES=96 指定DOS可以同时访问的文件数量。
  STACKS=9,512 此命令表示在处理硬件中断时可以动态使用9个512K大小的数据堆栈。

--------Autoexec.bat--------
@ECHO OFF
GOTO %CONFIG%
:SUB_1
SET PATH=C:\UCDOS;C:\TOOLS;%PA-TH%
LH C:\TOOLS\MOUSE
SMARTDRV
GOTO END
:SUB_2
SET PATH=C:\UCDOS;C:\TOOLS;%PA-TH%
LH C:\TOOLS\MOUSE
LH C:\CDROM\MSCDEX.EXE /D:MSC-D001
SMARTDRV
GOTO END
:SUB_3
WIN
GOTO END
:END

  说明如下:

  @ECHO OFF 表示不显示AUTOEXEC. BAT中各行命令语句的内容,前面加上"@"则"ECHO OFF"字符也不显示在屏幕上,否则屏幕上显示"ECHO OFF"。
  SET 用于设置、显示或删除DOS环境变量。%PATH%表示取当前系统搜索路径参数。
  GOTO %CONFIG% 表示DOS将转到标号为环境变量CONFIG值的语句下面,开始执行下面的语句。
  LH MOUSE.COM 表示将鼠标驱动程序加入到上位内存,如果鼠标驱动程序是*.SYS的形式的化,则必须将该驱动程序通过CONFIG. SYS文件加载到上位内存区中,格式为:
  DEVICEHIGH=C:\MOUSE\MOUSE. SYS其中"DEVICEHIGH"表示将该设备驱动程序加载到UMB。
  LH C:\CDROM\MSCDEX.EXE /D:MSCD-001 将光驱驱动程序装载入上位内存。注意加入此命令前在Config.sys必须加入"DEVI-CEHIGH=C:\CDROM\TEAC_CDI.SYS/D:MS-CD001"语句。
  SMARTDRV加载高速磁盘缓存程序。程序加载时如上位内存有剩余空间,它将自动加载到上位内存。为有效地加速系统对磁盘的操作,通过SMARTDRV.EXE在扩展内存中创建磁盘缓存,它存储刚刚使用且以后还要使用的磁盘扇区的数据,因为以后直接从RAM而不是从磁盘中读取数据,所以提高了访问速度。
如果最终调试成功后还可以用文本编辑器打开MSDOS.SYS文件,在文件最后加入一行语句----"BOOTKEYS=0",以禁止使用者使用F4、F5和F8键。也可在Config.sys的第一行(即"[MENU]"的上面)加入如下语句:
  SWITCHES=/F/N (启动时的开关选项,"/F"表示启动时跳过2秒钟的"Starting……"等待时间;"/N"表示禁止使用"F5"或"F8"键来跳过启动命令)
  注意:Config.sys和Autoexec.bat两个文件中所有的标点符号都必须是西文格式的(如","不能写成","),否则在启动时将出错!
  附扩充内存、扩展内存、常规内存、上位内存、高端内存的定义
  扩展内存(XMS,EXTENDED MEMO-RY),是主板上0~640K以外的内存。由于DOS早期开发的局限性,只能管理0~640K内的内存段。为了使用640K以外的扩展内存,电脑业形成了一个使用标准,即(Lotus/Intel/Micro-soft/AST)Extended Memory specification(扩展内存使用规范)。MS_DOS所提供的HIMEM .SYS文件即是按此规范编写的扩展内存管理(驱动)程序,通过在启动时加载此管理(驱动)程序,系统即可使用640K以上的内存空间。

  扩充内存(EMS,EXPANDED MEMO-RY),是通过加插板卡或通过模拟实现的内存。为了使用640K以上的扩充内存,电脑业形成了一个使用标准,即(Lotus/Intel/Microsoft)Expanded Memory Specification(扩充内存使用规范)。对于加插板卡的扩充内存,必须运行随卡附带的驱动程序;如果要用扩展内存来模拟扩充内存,则需运行MS_DOS提供的EMM386.EXE驱动程序。从EMS和XMS的产生时间来看,EMS要早于XMS,早期的计算机内存都较小,远远满足不了大型软件的运行需要,所以必须通过加插板卡以增加内存,而随着主板、内存等的制造成本的下降,XMS也逐渐取代了EMS,但为了适应早期一些应用程序必须使用EMS的需要(比如以前KOEI出的三国志系列),MS_DOS提供了通过EMM386. EXEGO来利用XMS模拟EMS的的功能。

  常规内存始于0KB,结束于640KB,社果没有使用一些内存管理程序的话(在MS_DOS下面,除了HIMEM.SYS、EMM386.EXE之外还有Quarterdeck的QEMM和Qualitas的386MAX等),那么常规内存就是你所能使用的唯一的一种内存,常规内存将被DOS及设备驱动程序和TSR(内存常驻程序)所占用。TSR是装入计算机内存并驻留在那里面的一种程序,而一般的程序往往在使用完毕之后把占用的内存返还给操作系统。

  上位内存(UMB,UPPER MEMORY BLOCKS),指640KB到1024KB之间的内存,通常此区域被褚如系统ROM、视频之类所使用。但大多数的计算机的硬件并不使用整个上位内存区,当我们使用了像EMM386这样的内存管理管理程序之后,就可以把一些TSR程序移到这此内存区。
高端内存(HMA,HIGH MEMORY AREA),是1MB内存以上的64KB连续内存空间,它属于扩展内存。换句话说就是指扩展内存的前64K部分。这是内存的一个特殊区域,通常用来将DOS装入高端内存区域内。

作者: Michael     时间: 2005-8-18 20:21
不错!
我们还可以在autoexec中使用%config%判断用户选择的菜单项,根据选择执行不同的语句。

作者: freeboy1314     时间: 2005-8-19 01:06
我用记事本打开,怎么里面没有内容的

作者: cadle     时间: 2005-8-19 09:52
这个对我们初学者来说非常有用,先谢谢你了!

作者: cn_archer     时间: 2005-8-19 12:13
Originally posted by freeboy1314 at 2005-8-19 01:06 AM:
我用记事本打开,怎么里面没有内容的



Windows系统已经不依赖autoexec.bat和config.sys了,它们现在主要靠注册表来配置系统运行环境。

作者: JonePeng     时间: 2005-8-19 14:48
Win9x/ME的系统仍保留Autoexec.bat和Config.sys。
但NT的系统在启动时不在依赖它们,但CMD仍需要Autoexec.nt和Config.nt来配置,这两个文件位于%SystemRoot%\system32目录下。

作者: home     时间: 2005-12-4 16:27
这个对我们初学者来说非常有用,先谢谢你了!

作者: weilong888     时间: 2005-12-4 20:00
讲得很不错。

作者: yhsyhs101101     时间: 2005-12-16 08:56
很好啊.厉害 啊........谢谢了.......

作者: flamey     时间: 2005-12-17 15:43
谢谢!

作者: lfdjssz     时间: 2006-1-2 16:37
谢谢了.......

作者: zhri1980     时间: 2006-1-3 17:34
好久没见到多重配置的介绍了~~~

真令人怀念啊~~~


作者: kro1999     时间: 2006-1-11 23:24
好久没有做过MENU菜单了,经典!

作者: fdsiuha     时间: 2006-1-11 23:38
Originally posted by kro1999 at 2006-1-11 23:24:
好久没有做过MENU菜单了,经典!


是啊,好象有11年了....

作者: lockingxp     时间: 2006-1-26 00:38
谢谢!

作者: seazy     时间: 2006-2-13 18:48
谢谢!不错.