标题: 如何定位光驱?
[打印本页]
作者: hzy
时间: 2006-4-6 13:36
标题: 如何定位光驱?
用dos7.1做了个启动img,包含shsucdx和findcd,刻录成光盘启动,可只有把光盘放在第一光驱时(有多个光驱,数量不确定),光盘启动后才能用这样的路径%cdrom%\xxx.exe运行光盘里的文件。请问如何才能做到不论光盘放在哪个光驱启动,都能通过批处理命令(%cdrom%\xxx.exe)运行光盘里的程序?
作者: Jneny
时间: 2006-4-6 15:11
那要确定是哪要运行的光盘文件所在的光驱盘符,
如果有两个光驱的话,那当然要用两个变量来代替啦,
先加两个光驱的呀
如
config.sys
device=vide-cdd.sys /d:cdrom1
device=vide-cdd.ssy /d:cdrom2
AUTOEXEC.BAT
shsucdex /d:cdrom1
shsucdex /d:cdrom2
set cdrom=z y x w v u t s r q p o n m l k j i h g f e d c
call findcd.bat %cdrom%
findcd.bat
:loop
if %1a=%1a goto end
if exist %1:\nul goto setcdrom
shift
goto loop
:setcdrom
set cdrom2=%1:
set cdrom1=%2:
path=A:\;%cdrom1%;%cdrom2%:
:end
作者: hzy
时间: 2006-4-6 15:40
问题是光驱的数量不确定啊!拿光盘来用的计算机有的只有一个光驱,有的有好几个。
作者: JonePeng
时间: 2006-4-7 00:41
Originally posted by hzy at 2006-4-6 13:36:
请问如何才能做到不论光盘放在哪个光驱启动,都能通过批处理命令(%cdrom%\xxx.exe)运行光盘里的程序?
无论从哪一个光驱开始判断,当一个光驱无盘时就会出现“NOT READY READING DRIVE G”。这是DOS的一个缺陷。解决办法是修改CONFIG.SYS的shell语句:SHELL=COMMAND.COM /P /F,即COMMAND.COM加上/F参数,该参数是COMMAND.COM的一个隐藏参数,作用是容错,即当出现“ABORT,RETRY,FAIL?”时,DOS系统会自动“按”几次RETRY,如果仍继续出错,则自动选择“ABORT”返回,从而避免批处理因系统出错而中断。
参考 :
(1)
请高手解决多光驱加载问题~~~谢~~~
(2)
DOS下什么程序能判断那个光驱有盘?
(3)
关于双光驱定义的问题!!!急!!!
(4)
请问在批处理文件里COMMAND的调用方法?
(5)
用批处理解决了DOS仙剑硬盘版的内存瓶颈
Last edited by JonePeng on 2006-4-7 at 01:14 ]
作者: hzy
时间: 2006-4-7 22:52
在真实的机器上用ISOEMU加载ISO启动运行DiskGenius出错!但在VM里用这个ISO启动一点问题也没有。不知原因何在?
出错信息:
: Abort: 00
Exception: 0D
Error code: 00000000
EAX: 00000200 EBX: 00000000 ECX: 00000080 EDX: 00000860
ESI: 00000000 EDI: 0005E9EC EBP: 00061EC4 ESP: 00061E80
DS: 0000 ES: 0860 FS:0848 GS: 0840 SS:0860 CS: 0868
EIP: 0003ABF7
EFLAGS: 00213202
CR0: 00000011 CR2: 00000000
光盘见附件。(考虑到尽量少占论坛空间,偶把光盘里面除Diskgenius以外的PQ、KV2006、ghost.exe等文件去掉,仅想检查diskgenius启动不起来的原因)
作者: darkradx
时间: 2006-4-8 12:55
CTMOUSE
深山红叶光盘附带的DOS工具箱也曾出这个问题, 我提了改进意见
作者: Jneny
时间: 2006-4-12 21:05
5楼的情况,我也碰到过
我认为是内存错误造成的