|
GOTOmsdos
铂金会员
C++启程者
积分 5154
发帖 1827
注册 2003-7-18
状态 离线
|
『楼 主』:
多重配置中,AUTOEXEC.BAT对config变量的引用会不会影响执行结果?
AUTOEXEC.BAT中:
折腾了一个晚上,最后发现:以下,运行MPXPLAY没有错误但无声(显示WSS)!(CONFIG.SYS中有启动选项,但肯定没有选 lan !!!)
path=c:\dos71;..
if %config%==lan goto lan
lh c:\dos71\shsucdx /d:dosnet
lh ctmouse
SET BLASTER=A220 I5 D1 T2
SET SNDSCAPE=C:\EAPCI
C:\EAPCI\APINIT
lh smartdrv
**********************
以下,运行MPXPLAY就有声(显示SBP)!
path=c:\dos71;..
lh c:\dos71\shsucdx /d:dosnet
lh ctmouse
if %config%==lan goto lan
SET BLASTER=A220 I5 D1 T2
SET SNDSCAPE=C:\EAPCI
C:\EAPCI\APINIT
lh smartdrv
[ Last edited by GOTOmsdos on 2006-4-15 at 00:28 ]
|
|
2006-4-11 23:48 |
|
|
Climbing
铂金会员
网络独行侠
积分 6962
发帖 2753
注册 2003-4-16 来自 河北保定
状态 离线
|
『第
2 楼』:
话都没有说清楚。
|
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
|
|
2006-4-12 09:10 |
|
|
Wengier
系统支持
“新DOS时代”站长
积分 27734
发帖 10521
注册 2002-10-9
状态 离线
|
『第
3 楼』:
其它的程序呢?
|
Wengier - 新DOS时代
欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/
E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)
|
|
2006-4-12 11:41 |
|
|
GOTOmsdos
铂金会员
C++启程者
积分 5154
发帖 1827
注册 2003-7-18
状态 离线
|
『第
4 楼』:
试过 OPENCP 也一样, 可能 QV也一样
但玩游戏有声
因为肯定没有选 LAN ,所以 就会执行下一句.照理说, 执行结果是一样的
可是他就是不一样!
不知什么原因?
|
|
2006-4-12 13:45 |
|
|
xuantian
高级用户
积分 587
发帖 282
注册 2006-4-10
状态 离线
|
『第
5 楼』:
就是不知所云,所以就没办法回复咯
|
|
2006-4-12 16:38 |
|
|
GOTOmsdos
铂金会员
C++启程者
积分 5154
发帖 1827
注册 2003-7-18
状态 离线
|
『第
6 楼』:
不知所云?
Wengier 已经明白啦
就是 CONFIG.SYS中是多重配置(就是有多个启动选项),自然要在AUTOEXEC.BAT中用%CONFIG%变量来接收的嘛
前后代码的不同处就是 if %config%==lan goto lan 这句 的位置的不同
前者代码中是在前的,而后者代码中是在后的,其他的代码完全一样,省略了
关键就是此句:
if %config%==lan goto lan
如果选了 值为lan的选项,就会去 : lan 标签,否则就执行后一句
可以肯定,我没有选值为lan的选项! 这样的话,两种代码的执行结果应是一样的啊
换句话说,这两种代码"应该"都相当于"没有这一句"才对啊,
但是,结果却出人意料的不同!
有没有清楚了?
[ Last edited by GOTOmsdos on 2006-4-13 at 18:47 ]
|
|
2006-4-13 18:41 |
|
|
xuantian
高级用户
积分 587
发帖 282
注册 2006-4-10
状态 离线
|
『第
7 楼』:
你的两段批处理本来就明显的不同,执行的效果自然是不会相同的
区别就在于:
if %config%==lan goto lan 这行后面的才会与config.sys交互,在此行前面的直接执行
|
|
2006-4-13 19:32 |
|
|
GOTOmsdos
铂金会员
C++启程者
积分 5154
发帖 1827
注册 2003-7-18
状态 离线
|
『第
8 楼』:
但是我没有选LAN,就应该忽略这句呀,接者执行后一句嘛,...
无论哪种情况,都会执行:
lh c:\dos71\shsucdx /d:dosnet
lh ctmouse
有什么不一样呢?
|
|
2006-4-14 12:33 |
|
|
willsort
元老会员
Batchinger
积分 4432
发帖 1512
注册 2002-10-18
状态 离线
|
『第
9 楼』:
───────────────── 版主提示 ─────────────────
由于原主题作者在约定时间内作出恰当回应,本提示现因失效已被删除
───────────────── 版主提示 ─────────────────
Re GOTOmsdos:
鉴于你身为论坛的“银牌会员”的资历,同时在线时间比较充足,特决定提前以上提示的通牒期限至明晨八点以前,逾时没有回复者除扣除相应积分外,我会考虑作出禁言三日的惩罚。
另外,你的问题我已理解。按常理推断,if语句很难影响内存的配置环境,因此应该不会对MPXPLAY的运行造成足够的影响。对此我只有两个建议:
一是二者运行环境并不仅仅是if位置的差别,可能有别的差别你未注意到。这需要贴出完整c/a文件对比和mem map才能得知;
二是这属于一种随机或伪随机现象,可能与硬件或者时间等因素有关。因此,仍需要认真细致的排除每一种可能。
[ Last edited by willsort on 2006-4-15 at 00:48 ]
|
※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得! |
|
2006-4-14 16:57 |
|
|
Climbing
铂金会员
网络独行侠
积分 6962
发帖 2753
注册 2003-4-16 来自 河北保定
状态 离线
|
『第
10 楼』:
哈哈,惩罚够严厉的,不过我支持一下,嘿嘿~~~
回答的也很到位,我理解也是如此,应该跟if语句没有关系。
|
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
|
|
2006-4-14 18:20 |
|
|
xuantian
高级用户
积分 587
发帖 282
注册 2006-4-10
状态 离线
|
『第
11 楼』:
我基本上不用批处理,啥方便用啥,不只限于DOS,但写启动文件还没有出过错:)
启动文件还是按标准的好
goto %config%
就不可能出问题
|
|
2006-4-14 18:55 |
|
|
GOTOmsdos
铂金会员
C++启程者
积分 5154
发帖 1827
注册 2003-7-18
状态 离线
|
『第
12 楼』:
不好意思了,好吧, 有时遇到非常不解的问题,情绪一有点激动可能会忘记发贴原则了,我马上改标题
另,看到willsort兄的提示, 我再试试, 是不是有不同的配置情况(是不是弄错了?)
|
|
2006-4-15 00:26 |
|
|
GOTOmsdos
铂金会员
C++启程者
积分 5154
发帖 1827
注册 2003-7-18
状态 离线
|
『第
13 楼』:
我不知说什么好了!
刚才又试了, 没问题了! 可是我当时连续试了不下5,6次,都是不一致!
就是只改动那一句,他就有问题,其他东西没有动啊....
不解中...
|
|
2006-4-15 00:52 |
|