Board logo

标题: 变量内容的取得问题 [打印本页]

作者: easyboylia     时间: 2007-6-27 07:59    标题: 变量内容的取得问题
想用拼接的方式实现数组,
虽然内容存储进去了,但是不能动态的取得,必须指定取出。
如何实现动态取出?


@echo off

set i=1

set test_%i%=abcd

set i=2

set test_%i%=1234



set i=1

echo %test_%i%%

set i=2

echo %test_2%

pause


现在的输出结果:
i%
1234

期望的结果:
abcd
1234

Last edited by easyboylia on 2007-6-27 at 08:49 AM ]

作者: wudixin96     时间: 2007-6-27 08:36
set i=1

echo %test_i%
改为
set i=1

echo %test_1%


但是这句
set i=1

echo %test_i%
的结果应该是:
ECHO 处于关闭状态
1234

作者: easyboylia     时间: 2007-6-27 08:50
不好意思,代码有问题,已经修正了。

其实主要是为了实现数组功能。

作者: wudixin96     时间: 2007-6-27 09:01
改成这样
set i=1

call echo %%test_%i%%%

作者: easyboylia     时间: 2007-6-27 10:01
可以了,谢谢!!
不过还有个小问题,如果用在if语句中应该怎么写?
本人初学,还请多多关照。


if call %%test_%i%%% == abcd echo OK

作者: wudixin96     时间: 2007-6-27 10:06
我现在能想到就是启用延迟,!test_%i%!
看看能行不?

自己再摸索一下吧。

作者: HAT     时间: 2007-6-27 11:06
willsort斑竹有篇讲解变量嵌套的文章,建议楼主看看。
http://www.cn-dos.net/forum/viewthread.php?tid=15669

作者: easyboylia     时间: 2007-6-27 12:06
谢谢知道,先去看看。