怎样在批处理中表达一个包含变量的变量?如下例,

@echooffsetstr=set/anum=1:CONsetstr=%str%asetstr%num%=%str%echostr=%str%str%num%=%str... @echo off
set str=
set /a num=1
:CON
set str=%str%a
set str%num%=%str%
echo str=%str% str%num%=%str%num%%
rem 这里的 %str%num%% 想表示str%num%的值。
if "%num%"=="3" goto END
set /a num+=1
goto CON
:END
for /l %%i in (1,1,%num%) do echo %%i %str%%i%
rem 这里的 %str%%i% 想表示str%%i的值。
上面的%str%num%% %str%%i% 应该是怎样呢?
展开
 我来答
sudoku52
2012-09-15 · TA获得超过7万个赞
知道大有可为答主
回答量:1.2万
采纳率:82%
帮助的人:4775万
展开全部
我想你大概是这个意思,为了你便于理解,尽量保持你原代码内容没做优化。

@echo off
setlocal enabledelayedexpansion
set str=
set /a num=1
:CON
set str=%str%a
set str%num%=%str%
call echo str=%str% str%num%=%%str%num%%%
rem 这里的 %str%num%% 想表示str%num%的值。
if "%num%"=="3" goto END
set /a num+=1
goto CON
:END
for /l %%i in (1,1,%num%) do call echo %%i !str%%i!
rem 这里的 %str%%i% 想表示str%%i的值。

下面是批处理运行的结果

str=a str1=a
str=aa str2=aa
str=aaa str3=aaa
1 a
2 aa
3 aaa
xq1850
2012-09-15 · TA获得超过3789个赞
知道大有可为答主
回答量:3155
采纳率:76%
帮助的人:1535万
展开全部
看着很乱。这样赋值给变量应该是不行的,%是保留的变量封闭符号,不能当普通字符使用。你可以将str%num%赋值给另一个变量,例如
set stra=str%num%
set stra=%str%
追问
我是想在一个循环中设置一个数组,像str1 str2 str3....., 然后在另外一个循环中调出来。
追答
那你用二次赋值给另一个变量也可以实现的,或者干脆两个变量分开,用的时候(例如显示)才合并到一起。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
批处理全能手
2012-09-15 · TA获得超过142个赞
知道答主
回答量:125
采纳率:0%
帮助的人:119万
展开全部
楼主,想要什么样的代码? 需求说一下,越详细越好。
不是我说,楼主的代码可以直接无视了
更多追问追答
追问
啊哈,我这里的代码只是举个例子
追答
你想要什么代码?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式