中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 请教一个批处理难题 上一主题 | 下一主题
xjhw
新手上路





积分 6
发帖 1
注册 2006-4-20
来自 云南
状态 离线
『楼 主』:  请教一个批处理难题

本人是一个刚学习DOS的未入门的初学者,学习在分析一个启动光盘时对其AUTOEXEC.BAT文件的编写原理有点糊涂,不知为什么作者使用了
CDA %CDROM% > NUL
IF errorlevel 1 GOTO NEXTCD
IF NOT EXIST %CDROM%:\DM\SEAGATE\DM.EXE GOTO NEXTCD
GOTO BOOT
这段。在此特请教各位大侠,DM.EXE 是起什么作用的?附上配置文件和批处理文件,请帮忙详细分析一下。本人不胜感激!!!最好能给出详细的编写思路,谢谢!
CONFIG.SYS文件内容:
device=himem.sys /testmem:off
DEVICEHIGH=VIDE-CDD.SYS /D:mscd000
DEVICEHIGH=ASPICD.SYS /D:mscd000
files=10
buffers=15
dos=high,umb
stacks=9,256
devicehigh=ramdrive.sys /E 4096
lastdrive=z
AUTOEXEC.BAT文件内容:
@ECHO OFF
PROMPT $P$G
set temp=c:\
set tmp=c:\
SET EXPAND=YES
SET DIRCMD=/O:N
set LglDrv=27 * 26 Z 25 Y 24 X 23 W 22 V 21 U 20 T 19 S 18 R 17 Q 16 P 15
set LglDrv=%LglDrv% O 14 N 13 M 12 L 11 K 10 J 9 I 8 H 7 G 6 F 5 E 4 D 3 C
CALL SETRAMD.BAT %LglDrv%
COPY COMMAND.COM %RAMD%:\
COPY RESTART.COM %RAMD%:\
COPY TW.EXE %RAMD%:\
REM EXTRACT /E /L %RAMD:\ EBD.CAB > NUL
SET COMSPEC=%RAMD%:\COMMAND.COM
PATH=%RAMD%:\;%CDROM%:\DOS\;A:\;

LH KILLER
LH CTMOUSE

LH MSCDEX.EXE /D:MSCD000 /L:%CDROM%

CDA %CDROM% > NUL
IF errorlevel 1 GOTO NEXTCD
IF NOT EXIST %CDROM%:\DM\SEAGATE\DM.EXE GOTO NEXTCD
GOTO BOOT

:NEXTCD
CALL CHCDROM.BAT C D E F G H I J K L M N O P Q R S T U V W X Y Z
GOTO BOOT

:BOOT
Set LglDrv=
PATH=%RAMD%:\;A:\;C:\;%CDROM%:;%CDROM%:\DOS\;%RAMD%:\BAT\;%CDROM%:\;
MD %RAMD%:\TEMP
XXCOPY /E /H %CDROM%:\DOS\EBD %RAMD%:\ > NUL
COPY %CDROM%:\DOS\GHOST\*.* %RAMD%:
%RAMD%:
GHOST.EXE
GOTO RESET

:RESET

2006-4-24 22:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zhangxue
初级用户





积分 183
发帖 82
注册 2006-3-28
状态 离线
『第 2 楼』:  

相当于一个标记,这是考虑到多光驱情况下的普遍写法,用于确定那个才是启动盘所在的光驱。

2006-4-25 09:45
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: