批处理数组为什么取不出值? echo off &setlocal enabledelayedexpansion set n=0 for /l

%%ain(1,1,3)do(set/aarray[%n%]=necho!array[%n%]!set/an+=1)echo!array[1]!echo!array[2]... %%a in (1,1,3) do (
set /a array[%n%]=n
echo !array[%n%]!
set /a n+=1
)

echo !array[1]!
echo !array[2]!
echo !array[3]!

前面可以输出,下面取不到值是为什么!!
展开
 我来答
GAGATOSHUT
2016-05-07 · TA获得超过3459个赞
知道小有建树答主
回答量:645
采纳率:50%
帮助的人:246万
展开全部
@Echo Off
Setlocal Enabledelayedexpansion
For /l %%a in (1,1,3) do Set "array[%%a]=n" 
For /l %%a in (1,1,3) do Echo,!array[%%a]!
 
Pause>nul

::中国批处理脚本联盟
追问
多谢!关键我想知道为什么!array[1]!这个取不出值
追答
您的For语句Set使用的是计算/a参数,是错误的
还有一点就是最重要的,里面有一个扩展延迟的问题 
以下是给你修改过的代码,你可参考以下:

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式