Board logo

标题: SET的难题 [打印本页]

作者: gmy     时间: 2004-7-4 00:00    标题: SET的难题

SET a=1
SET b=2
SET c=a+b

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

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

请问,有没有其它小工具,可以解决"变量之间的运算"
作者: Climbing     时间: 2004-7-5 00:00
如果是Windows 2000/xp/2003的dos方式,你可以使用:
set /a c=a+b

至于纯DOS环境,你可以使用Horst的varset。
作者: gmy     时间: 2004-7-5 00:00
多谢,回家等我一试,
另外,CLIMBING?无忧的版主吧!久仰!
作者: Wengier     时间: 2004-7-6 00:00
gmy,其实STRINGS也是可以做到的,比如:

SET A=1
SET B=2
STRINGS C=ADD %A%,%B%
作者: gmy     时间: 2004-7-9 00:00
to Wengier

STRINGS C=ADD %A%,%B%

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

STRINGS C=ADD 1,2

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


作者: gmy     时间: 2004-7-9 00:00
to Climbing

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

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

这时SET回车
C=3

作者: Wengier     时间: 2004-7-9 00:00
gmy,誰说STRINGS不支持变量形式?我在回帖前就做了一个实验,证明是绝对可行的才帖上来的。事实上,根本不存在STRINGS是否支持环境变量的问题,而是看DOS是否支持,因为输入后环境变量后DOS自动将环境变量转成其实际值并交给程序去使用,要么就是使用方法有误。注:我是在纯 MS-DOS 7.10命令行下测试的。


作者: Climbing     时间: 2004-7-10 00:00
STRINGS是个什么命令,恕我孤陋寡闻,我是第一次见到这个命令,又学了一招!

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

另外,我觉得还是varset比较通用一些,因为它可以用于任何DOS环境下。
作者: Wengier     时间: 2004-7-10 00:00
其实Strings和Varset一样,都是外部工具,而不是DOS自带的。只是Varset是Horst编的,而Strings则是Dunglas编的,且功能要多些。两者在网站的“脚本工具”中都有下载的。因为楼主在帖子中提到过Strings,所以我也就来说明Strings是可以做到的(Varset当然也可以做到)。


作者: fairsky007     时间: 2010-9-1 22:50
strings 的确是好东西!!!