![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-18 01:19 |
共 47,814 主题排行 / 349,907 发帖 / 今日 4 篇 / 48,259 会员排行 |
| DOS疑难解答 & 问题讨论 (解答室) » 多重配置中,AUTOEXEC.BAT对config变量的引用会不会影响执行结果? |
| 可打印版本 1,087 / 12 |
| 第1楼 GOTOmsdos | 发表于 2006-04-11 23:48 |
| 铂金会员 发帖 1,827 积分 5,154 | |
|
多重配置中,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 ] |
|
| 第2楼 Climbing | 发表于 2006-04-12 09:10 |
| 铂金会员 发帖 2,753 积分 6,962 来自 河北保定 | |
|
话都没有说清楚。
|
|
| 第3楼 Wengier | 发表于 2006-04-12 11:41 |
| 系统支持 发帖 10,521 积分 27,736 | |
|
其它的程序呢?
|
|
| 第4楼 GOTOmsdos | 发表于 2006-04-12 13:45 |
| 铂金会员 发帖 1,827 积分 5,154 | |
|
试过 OPENCP 也一样, 可能 QV也一样
但玩游戏有声 因为肯定没有选 LAN ,所以 就会执行下一句.照理说, 执行结果是一样的 可是他就是不一样! 不知什么原因? |
|
| 第5楼 xuantian | 发表于 2006-04-12 16:38 |
| 高级用户 发帖 282 积分 587 | |
|
就是不知所云,所以就没办法回复咯
![]() |
|
| 第6楼 GOTOmsdos | 发表于 2006-04-13 18:41 |
| 铂金会员 发帖 1,827 积分 5,154 | |
|
不知所云?
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 ] |
|
| 第7楼 xuantian | 发表于 2006-04-13 19:32 |
| 高级用户 发帖 282 积分 587 | |
|
你的两段批处理本来就明显的不同,执行的效果自然是不会相同的
区别就在于: if %config%==lan goto lan 这行后面的才会与config.sys交互,在此行前面的直接执行 |
|
| 第8楼 GOTOmsdos | 发表于 2006-04-14 12:33 |
| 铂金会员 发帖 1,827 积分 5,154 | |
|
但是我没有选LAN,就应该忽略这句呀,接者执行后一句嘛,...
无论哪种情况,都会执行: lh c:\dos71\shsucdx /d:dosnet lh ctmouse 有什么不一样呢? |
|
| 第9楼 willsort | 发表于 2006-04-14 16:57 |
| 元老会员 发帖 1,512 积分 4,432 | |
|
───────────────── 版主提示 ───────────────── 由于原主题作者在约定时间内作出恰当回应,本提示现因失效已被删除 ───────────────── 版主提示 ───────────────── Re GOTOmsdos: 鉴于你身为论坛的“银牌会员”的资历,同时在线时间比较充足,特决定提前以上提示的通牒期限至明晨八点以前,逾时没有回复者除扣除相应积分外,我会考虑作出禁言三日的惩罚。 另外,你的问题我已理解。按常理推断,if语句很难影响内存的配置环境,因此应该不会对MPXPLAY的运行造成足够的影响。对此我只有两个建议: 一是二者运行环境并不仅仅是if位置的差别,可能有别的差别你未注意到。这需要贴出完整c/a文件对比和mem map才能得知; 二是这属于一种随机或伪随机现象,可能与硬件或者时间等因素有关。因此,仍需要认真细致的排除每一种可能。 [ Last edited by willsort on 2006-4-15 at 00:48 ] |
|
| 第10楼 Climbing | 发表于 2006-04-14 18:20 |
| 铂金会员 发帖 2,753 积分 6,962 来自 河北保定 | |
|
哈哈,惩罚够严厉的,不过我支持一下,嘿嘿~~~
回答的也很到位,我理解也是如此,应该跟if语句没有关系。 |
|
| 第11楼 xuantian | 发表于 2006-04-14 18:55 |
| 高级用户 发帖 282 积分 587 | |
|
我基本上不用批处理,啥方便用啥,不只限于DOS,但写启动文件还没有出过错:)
启动文件还是按标准的好 goto %config% 就不可能出问题 |
|
| 第12楼 GOTOmsdos | 发表于 2006-04-15 00:26 |
| 铂金会员 发帖 1,827 积分 5,154 | |
|
不好意思了,好吧, 有时遇到非常不解的问题,情绪一有点激动可能会忘记发贴原则了,我马上改标题
另,看到willsort兄的提示, 我再试试, 是不是有不同的配置情况(是不是弄错了?) |
|
| 第13楼 GOTOmsdos | 发表于 2006-04-15 00:52 |
| 铂金会员 发帖 1,827 积分 5,154 | |
|
我不知说什么好了!
刚才又试了, 没问题了! 可是我当时连续试了不下5,6次,都是不一致! 就是只改动那一句,他就有问题,其他东西没有动啊.... 不解中... |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |