中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS疑难解答 & 问题讨论 (解答室) » [已解决]dos多个相同变量数值不同无法替换?
作者:
标题: [已解决]dos多个相同变量数值不同无法替换? 上一主题 | 下一主题
semenyung
新手上路





积分 16
发帖 5
注册 2007-10-15
状态 离线
『楼 主』:  [已解决]dos多个相同变量数值不同无法替换?

执行dos的时候,出现多个%cdrom%变量,无法替换。
用set查看可以看见:
cdrom=d
cdrom=1
设置一个新的数值的时候,前面一个消失,但依然有两个cdrom

config配置如下:
DEVICEHIGH=A:\HIMEM.SYS /testmem:off
DEVICEHIGH=A:\RAMDRIVE.SYS /E 4096

[COMMON]
files=20
buffers=30
dos=high,umb
stacks=9,256
lastdrive=z
SWITCHES=/N /F

autoexec配置:
@ECHO OFF
PROMPT $P$G
SET DIRCMD=/O:N
SET COMSPEC=A:\COMMAND.COM
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%
CLS
SET LglDrv=
SET PATH=%RAMD%:\;A:\;A:\HD;A:\PQ;A:\NTFS;A:\DM;A:\1K
LH A:\DOSKEY.COM>NUL
CALL A:\CDROM.BAT
copy a:\command.com %RAMD%:\>nul
set comspec=%RAMD%:\command.com
SET TEMP=%RAMD%:
SET TMP=%RAMD%:

bcdw FindBootableCDLetter
IF errorlevel 1 goto XM
prompt CD=%bcdw_cdrom%:_RAM=%RAMD%:_$p$g
path=%PATH%;%bcdw_cdrom%:\
%bcdw_cdrom%:
BCDW GetBootImageCommandLine
IF errorlevel 1 goto END
CALL %bcdw_cl%
GOTO EXIT

:XM
CALL A:\ALLCD.BAT
GOTO END

:END
A:\H.BAT

:EXIT


不知道哪里弄错了,出现这个情况,请大家帮忙分析下!谢谢!

[ Last edited by semenyung on 2009-4-14 at 04:47 ]

2009-4-13 00:19
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
DOSforever
金牌会员





积分 4639
发帖 2239
注册 2005-1-30
状态 离线
『第 2 楼』:  



  Quote:
Originally posted by semenyung at 2009-4-13 00:19:
执行dos的时候,出现多个%cdrom%变量,无法替换。
用set查看可以看见:
cdrom=d
cdrom=1
设置一个新的数值的时候,前面一个消失,但依然有两个cdrom

...

同一个环境变量能有两个值?允许存在两个相同名的环境变量?如果不是亲眼所见还真不敢相信。



DOS倒下了,但永远不死
DOS NEVER DIES !

投票调查:
http://www.cn-dos.net/forum/viewthread.php?tid=46187

本人尚未解决的疑难问题:
http://www.cn-dos.net/forum/viewthread.php?tid=15135
http://www.cn-dos.net/forum/viewthread.php?tid=47663
http://www.cn-dos.net/forum/viewthread.php?tid=48747
2009-4-13 09:54
查看资料  发短消息 网志   编辑帖子  回复  引用回复
semenyung
新手上路





积分 16
发帖 5
注册 2007-10-15
状态 离线
『第 3 楼』:  

我也很郁闷,只好调用allcd.bat的时候先把cdrom变量清空再说。
set cdrom=
set cdrom=

估计和其他关联变量有关,比如设置
set bcdw_cdrom=%cdrom%

生成新的cdrom变量时原来的值还是被%bcdw_cdrom%引用,所以同时出现两个%cdrom%

[ Last edited by semenyung on 2009-4-14 at 04:45 ]

2009-4-14 04:32
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: