楼 主
变量内容的取得问题
发表于 2007-06-27 07:59 · 日本
初级用户
★
积分 30
发帖 11
注册 2007-06-11 16:13
19年会员
UID 90977
性别 男
状态 离线
想用拼接的方式实现数组,
虽然内容存储进去了,但是不能动态的取得,必须指定取出。
如何实现动态取出?
@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 ]
第 2 楼
发表于 2007-06-27 08:36 · 中国 天津 电信
银牌会员
★★★
积分 1,928
发帖 931
注册 2007-01-06 11:46
19年会员
UID 75624
性别 男
状态 离线
set i=1
echo %test_i%
改为
set i=1
echo %test_1%
但是这句
set i=1
echo %test_i%
的结果应该是:
ECHO 处于关闭状态
1234
第 3 楼
发表于 2007-06-27 08:50 · 日本
初级用户
★
积分 30
发帖 11
注册 2007-06-11 16:13
19年会员
UID 90977
性别 男
状态 离线
不好意思,代码有问题,已经修正了。
其实主要是为了实现数组功能。
第 4 楼
发表于 2007-06-27 09:01 · 中国 天津 电信
银牌会员
★★★
积分 1,928
发帖 931
注册 2007-01-06 11:46
19年会员
UID 75624
性别 男
状态 离线
改成这样
set i=1
call echo %%test_%i%%%
第 5 楼
发表于 2007-06-27 10:01 · 日本
初级用户
★
积分 30
发帖 11
注册 2007-06-11 16:13
19年会员
UID 90977
性别 男
状态 离线
可以了,谢谢!!
不过还有个小问题,如果用在if语句中应该怎么写?
本人初学,还请多多关照。
if call %%test_%i%%% == abcd echo OK
第 6 楼
发表于 2007-06-27 10:06 · 中国 天津 电信
银牌会员
★★★
积分 1,928
发帖 931
注册 2007-01-06 11:46
19年会员
UID 75624
性别 男
状态 离线
我现在能想到就是启用延迟,!test_%i%!
看看能行不?
自己再摸索一下吧。
第 7 楼
发表于 2007-06-27 11:06 · 中国 上海 联通
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
第 8 楼
发表于 2007-06-27 12:06 · 日本
初级用户
★
积分 30
发帖 11
注册 2007-06-11 16:13
19年会员
UID 90977
性别 男
状态 离线
论坛跳转: