中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-07-02 06:58
中国DOS联盟论坛 » DOS疑难解答 & 问题讨论 (解答室) » SET的难题 查看 3,759 回复 9
楼 主 SET的难题 发表于 2004-07-04 00:00 ·  中国 河北 唐山 联通
版主
★★★
操作系统爱好者
积分 1,113
发帖 392
注册 2002-11-11 00:00
23年会员
UID 228
性别 男
状态 离线
SET a=1
SET b=2
SET c=a+b

如果这是BASIC, C的值就应该是3,但批处理就不行.

试过ASET,XSET,STRINGS都不行(它们只支持 数字直接运算)

请问,有没有其它小工具,可以解决"变量之间的运算"
DOS之家 http://doshome.com 站长 葛明阳
2 发表于 2004-07-05 00:00 ·  中国 河北 石家庄 联通
铂金会员
★★★★
网络独行侠
积分 6,962
发帖 2,753
注册 2003-04-16 00:00
23年会员
UID 1565
性别 男
来自 河北保定
状态 离线
如果是Windows 2000/xp/2003的dos方式,你可以使用:
set /a c=a+b

至于纯DOS环境,你可以使用Horst的varset。
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
3 发表于 2004-07-05 00:00 ·  中国 河北 唐山 联通
版主
★★★
操作系统爱好者
积分 1,113
发帖 392
注册 2002-11-11 00:00
23年会员
UID 228
性别 男
状态 离线
多谢,回家等我一试,
另外,CLIMBING?无忧的版主吧!久仰!
DOS之家 http://doshome.com 站长 葛明阳
4 发表于 2004-07-06 00:00 ·  美国
系统支持
★★★★★★
“新DOS时代”站长
积分 27,736
发帖 10,521
注册 2002-10-09 12:00
23年会员
UID 9
状态 离线
gmy,其实STRINGS也是可以做到的,比如:

SET A=1
SET B=2
STRINGS C=ADD %A%,%B%
Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

5 发表于 2004-07-09 00:00 ·  中国 河北 唐山 联通
版主
★★★
操作系统爱好者
积分 1,113
发帖 392
注册 2002-11-11 00:00
23年会员
UID 228
性别 男
状态 离线
to Wengier

STRINGS C=ADD %A%,%B%

好像不行吧,我试了,如果是:

STRINGS C=ADD 1,2

可以。STRINGS不支持变量形式(%X%)

DOS之家 http://doshome.com 站长 葛明阳
6 发表于 2004-07-09 00:00 ·  中国 河北 唐山 联通
版主
★★★
操作系统爱好者
积分 1,113
发帖 392
注册 2002-11-11 00:00
23年会员
UID 228
性别 男
状态 离线
to Climbing

VARSET 成功!谢谢!具体步骤是:

set a=1
set b=2
call var set c=%a%,%b%

这时SET回车
C=3
DOS之家 http://doshome.com 站长 葛明阳
7 发表于 2004-07-09 00:00 ·  美国
系统支持
★★★★★★
“新DOS时代”站长
积分 27,736
发帖 10,521
注册 2002-10-09 12:00
23年会员
UID 9
状态 离线
gmy,誰说STRINGS不支持变量形式?我在回帖前就做了一个实验,证明是绝对可行的才帖上来的。事实上,根本不存在STRINGS是否支持环境变量的问题,而是看DOS是否支持,因为输入后环境变量后DOS自动将环境变量转成其实际值并交给程序去使用,要么就是使用方法有误。注:我是在纯 MS-DOS 7.10命令行下测试的。
Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

8 发表于 2004-07-10 00:00 ·  中国 河北 石家庄 联通
铂金会员
★★★★
网络独行侠
积分 6,962
发帖 2,753
注册 2003-04-16 00:00
23年会员
UID 1565
性别 男
来自 河北保定
状态 离线
STRINGS是个什么命令,恕我孤陋寡闻,我是第一次见到这个命令,又学了一招!

是不是这个命令只能用在DOS 7.10下,我没有在2003的dos方式中发现这个命令,微软这东西怎么老变呢?

另外,我觉得还是varset比较通用一些,因为它可以用于任何DOS环境下。
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
9 发表于 2004-07-10 00:00 ·  美国
系统支持
★★★★★★
“新DOS时代”站长
积分 27,736
发帖 10,521
注册 2002-10-09 12:00
23年会员
UID 9
状态 离线
其实Strings和Varset一样,都是外部工具,而不是DOS自带的。只是Varset是Horst编的,而Strings则是Dunglas编的,且功能要多些。两者在网站的“脚本工具”中都有下载的。因为楼主在帖子中提到过Strings,所以我也就来说明Strings是可以做到的(Varset当然也可以做到)。
Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

10 发表于 2010-09-01 22:50 ·  中国 北京 联通
初级用户
积分 21
发帖 8
注册 2010-08-24 12:56
15年会员
UID 172902
性别 男
状态 离线
strings 的确是好东西!!!
论坛跳转: