无忧启动论坛

标题: 求助AUTOexec.bat问题 [打印本页]

作者: yaoyudx    时间: 2005-5-21 04:12
标题: 求助AUTOexec.bat问题
我想利用img里面的autoexec.bat调用ISO里面其它文件,结果怎么都不对,请大家帮我看看!!
@ECHO OFF
set EXPAND=YES
SET DIRCMD=/O:N
cls
set temp=c:\
set tmp=c:\
path=a:\
LH MSCDEX.EXE /D:oemcd001 /L:d
echo.
IF "%config%"=="PQmagic" goto PQ
GOTO QUIT
:PQ
set CDROM=FOO23
FINDCD.EXE
if "%CDROM%"=="FOO23" goto NOCDROM
path=a:\;%CDROM%\
%CDROM%
cd \PQ
echo.
PQ.exe
goto QUIT
结果总是执行到if "%CDROM%"=="FOO23" goto NOCDROM就跑到“NOCDROM”段去了,帮帮忙啊,很急啊!!!
作者: Virus2000    时间: 2005-5-21 09:29
标题: 求助AUTOexec.bat问题
:PQ
set CDROM=FOO23
这里你强行到CDROM设成F0023了,当然IF的条件永远都是成立的啦,我想问一下,你这句是要实现什么功能啊
作者: 紫狐    时间: 2005-5-21 10:10
标题: 求助AUTOexec.bat问题
下面引用由Virus20002005/05/21 09:29am 发表的内容:
:PQ
set CDROM=FOO23
这里你强行到CDROM设成F0023了,当然IF的条件永远都是成立的啦,我想问一下,你这句是要实现什么功能啊
错了,他这个软盘是Win98的盘,要启动它那个虚拟盘后它才能赋CD-ROM的盘符给"%CDROM%的,如果没有那个虚拟盘,"%CDROM%的变量就是空的;
所以要这个启动盘正常,要么就调用微软的那个虚拟盘,要么就更换Findcd程序和改批处理的写法。
作者: Virus2000    时间: 2005-5-21 13:07
标题: 求助AUTOexec.bat问题
下面引用由紫狐2005/05/21 10:10am 发表的内容:
错了,他这个软盘是Win98的盘,要启动它那个虚拟盘后它才能赋CD-ROM的盘符给"%CDROM%的,如果没有那个虚拟盘,"%CDROM%的变量就是空的;
所以要这个启动盘正常,要么就调用微软的那个虚拟盘,要么就更 ...
哦?!真的?那我倒没有试过去掉RamDrive是什么样的
作者: yaoyudx    时间: 2005-5-21 13:13
标题: 求助AUTOexec.bat问题
还是不怎么懂啊?
CDROM=FOO23这句到底是什么意思啊?

作者: 紫狐    时间: 2005-5-21 16:03
标题: 求助AUTOexec.bat问题
晕死~~~
set CDROM=FOO23   设置cdrom为f0023
FINDCD.EXE        如果查找cdrom,有就将cdrom设置为对应盘符,否则,不变
if "%CDROM%"=="FOO23" goto NOCDROM  这里==进行判断,如果查找不到cdrom的盘符则"%CDROM%"会对于F0023而不是空,跳转到NOCDROM

作者: yaoyudx    时间: 2005-5-21 16:15
标题: 求助AUTOexec.bat问题
[这个贴子最后由yaoyudx在 2005/05/21 05:09pm 第 1 次编辑]

我知道这个表面意思啊,关键是为什么非要把cdrom设为F0023,有什么意义啊?我试过把这一句和后面的判断语句删了,直接让FINDCD返回盘符,结果还是不行,我看别人编得AUTOEXEC。BAT好像是必要CDROM=FOO23这一句,关键按理说,后面findcd语句一过,CDROM赋的值就该变了嘛,结果还是=F0023,结果就跑到了NOCDROM去了
作者: yaoyudx    时间: 2005-5-21 17:38
标题: 求助AUTOexec.bat问题
我理解的是cdrom=f0023是不是没有什么实际意义,只是单纯给变量CDROM赋个值,如果后面的findcd.exe把CDROM这个变量的值改变了,就执行下去,如果没变,还是F0023,就跳到NOCDROM那一段?是这样的吗??但是这个该死的FINDCD.EXE怎么也不能改变变量CDROM的赋值啊!!!有人教教我吗???!!
作者: 紫狐    时间: 2005-5-21 22:24
标题: 求助AUTOexec.bat问题
下面引用由yaoyudx2005/05/21 05:38pm 发表的内容:
我理解的是cdrom=f0023是不是没有什么实际意义,只是单纯给变量CDROM赋个值,如果后面的findcd.exe把CDROM这个变量的值改变了,就执行下去,如果没变,还是F0023,就跳到NOCDROM那一段?是这样的吗??但是这个 ...
见3楼。不知道你到底有没有看上面的内容。
作者: gotomsdos    时间: 2005-5-22 01:20
标题: 求助AUTOexec.bat问题
你的CONFIG.SYS 可能没有加载光驱驱动呀,所以FINDCD找不到光驱,所以没给变%CDROM%值嘛!!
狂晕1!

作者: yaoyudx    时间: 2005-5-22 18:14
标题: 求助AUTOexec.bat问题
呵呵,我还没那么菜啊~~~~~~~~~~搞定了,结果是findcd版本问题,老版本返回0-255,还要.bat文件判断,新版的就不一样了,直接运行就OK了
作者: yaoyudx    时间: 2005-5-22 20:32
标题: 求助AUTOexec.bat问题
太喜剧了!!我这段是从EZBOOT的5.06.472自带的setup98.img里面的autoexec.bat里面截出来,真的如果原汁原味用这个img的话,能安起WIN98,我把我的电脑吃了!!!FINDCD.exe版本暴老不说,CDROM=FOO23这一句也有问题,后面就算findcd返回盘符,跟本不能改变cdrom的值了,永远都是F0023!!如果改成%CDROM%=FOO23就OK了。不知是我笨还是为什么,反正如果前面是CDROM=FOO23的话,我在后面无论如何都不能用FINDCD再次修改CDROM的值!
作者: 紫狐    时间: 2005-5-23 16:14
标题: 求助AUTOexec.bat问题
下面引用由yaoyudx2005/05/21 04:15pm 发表的内容:
我知道这个表面意思啊,关键是为什么非要把cdrom设为F0023,有什么意义啊?我试过把这一句和后面的判断语句删了,直接让FINDCD返回盘符,结果还是不行,我看别人编得AUTOEXEC。BAT好像是必要CDROM=FOO23这一句, ...
别人的finfcd.exe和你这个盘里面的不一样,现在的findcd有三个不同版本,是不同作者编的,你这个的微软的。
作者: 紫狐    时间: 2005-5-23 16:14
标题: 求助AUTOexec.bat问题
下面引用由yaoyudx2005/05/21 05:38pm 发表的内容:
我理解的是cdrom=f0023是不是没有什么实际意义,只是单纯给变量CDROM赋个值,如果后面的findcd.exe把CDROM这个变量的值改变了,就执行下去,如果没变,还是F0023,就跳到NOCDROM那一段?是这样的吗??但是这个 ...
cdrom=f0023
作者: 紫狐    时间: 2005-5-23 16:16
标题: 求助AUTOexec.bat问题
下面引用由yaoyudx2005/05/21 05:38pm 发表的内容:
我理解的是cdrom=f0023是不是没有什么实际意义,只是单纯给变量CDROM赋个值,如果后面的findcd.exe把CDROM这个变量的值改变了,就执行下去,如果没变,还是F0023,就跳到NOCDROM那一段?是这样的吗??但是这个 ...
cdrom=f0023是当findcd找不到光驱盘符的时候,findcd不会进行%cdrom%的修改,这样,下面运行的判断就不会出错。你的理解已经基本正确了。
作者: 紫狐    时间: 2005-5-23 16:19
标题: 求助AUTOexec.bat问题
下面引用由yaoyudx2005/05/22 06:14pm 发表的内容:
呵呵,我还没那么菜啊~~~~~~~~~~搞定了,结果是findcd版本问题,老版本返回0-255,还要.bat文件判断,新版的就不一样了,直接运行就OK了
不是新老版本的问题,根本就是三个不同的程序,作者也不同,你的盘里面的是微软的,那个返回0-255的是nu2nu的,这个也麻烦点,另一个的dos论坛的Wengier写的,这个最好用。




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3