中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-18 17:06
47,814 主题排行 / 349,908 发帖 / 今日 1 篇 / 48,259 会员排行
DOS疑难解答 & 问题讨论 (解答室) » SET的难题
可打印版本  4,007 / 9
第1楼 gmy 发表于 2004-07-04 00:00
版主 发帖 392 积分 1,113
SET的难题
SET a=1
SET b=2
SET c=a+b

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

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

请问,有没有其它小工具,可以解决"变量之间的运算"
第2楼 Climbing 发表于 2004-07-05 00:00
铂金会员 发帖 2,753 积分 6,962 来自 河北保定
如果是Windows 2000/xp/2003的dos方式,你可以使用:
set /a c=a+b

至于纯DOS环境,你可以使用Horst的varset。
第3楼 gmy 发表于 2004-07-05 00:00
版主 发帖 392 积分 1,113
多谢,回家等我一试,
另外,CLIMBING?无忧的版主吧!久仰!
第4楼 Wengier 发表于 2004-07-06 00:00
系统支持 发帖 10,521 积分 27,736
gmy,其实STRINGS也是可以做到的,比如:

SET A=1
SET B=2
STRINGS C=ADD %A%,%B%
第5楼 gmy 发表于 2004-07-09 00:00
版主 发帖 392 积分 1,113
to Wengier

STRINGS C=ADD %A%,%B%

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

STRINGS C=ADD 1,2

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

第6楼 gmy 发表于 2004-07-09 00:00
版主 发帖 392 积分 1,113
to Climbing

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

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

这时SET回车
C=3
第7楼 Wengier 发表于 2004-07-09 00:00
系统支持 发帖 10,521 积分 27,736
gmy,誰说STRINGS不支持变量形式?我在回帖前就做了一个实验,证明是绝对可行的才帖上来的。事实上,根本不存在STRINGS是否支持环境变量的问题,而是看DOS是否支持,因为输入后环境变量后DOS自动将环境变量转成其实际值并交给程序去使用,要么就是使用方法有误。注:我是在纯 MS-DOS 7.10命令行下测试的。
第8楼 Climbing 发表于 2004-07-10 00:00
铂金会员 发帖 2,753 积分 6,962 来自 河北保定
STRINGS是个什么命令,恕我孤陋寡闻,我是第一次见到这个命令,又学了一招!

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

另外,我觉得还是varset比较通用一些,因为它可以用于任何DOS环境下。
第9楼 Wengier 发表于 2004-07-10 00:00
系统支持 发帖 10,521 积分 27,736
其实Strings和Varset一样,都是外部工具,而不是DOS自带的。只是Varset是Horst编的,而Strings则是Dunglas编的,且功能要多些。两者在网站的“脚本工具”中都有下载的。因为楼主在帖子中提到过Strings,所以我也就来说明Strings是可以做到的(Varset当然也可以做到)。
第10楼 fairsky007 发表于 2010-09-01 22:50
初级用户 发帖 8 积分 21
strings 的确是好东西!!!
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023