使用此代码例如:
setlocal enabledelayedexpansion
set arrayline[0]=############
set arrayline[1]=#..........#
set arrayline[2]=#..........#
set arrayline[3]=#..........#
set arrayline[4]=#..........#
set arrayline[5]=#..........#
set arrayline[6]=#..........#
set arrayline[7]=#..........#
set arrayline[8]=#..........#
set arrayline[9]=#..........#
set arrayline[10]=#..........#
set arrayline[11]=#..........#
set arrayline[12]=############
::read it using a FOR /L statement
for /l %%n in (0,1,12) do (
echo !arrayline[%%n]!
)
pause
我想使用“普通”变量语法,而不是使用setlocal enabledelayedexpansion(第1行)。
我的意思是代替!arrayline[%%n]!
我希望有类似的东西:%arrayline[n]%
以便将信息放入变量中(这样:)
setlocal enabledelayedexpansion
set arrayline[0]=############
set arrayline[1]=#..........#
set arrayline[2]=#..........#
set arrayline[3]=#..........#
set arrayline[4]=#..........#
set arrayline[5]=#..........#
set arrayline[6]=#..........#
set arrayline[7]=#..........#
set arrayline[8]=#..........#
set arrayline[9]=#..........#
set arrayline[10]=#..........#
set arrayline[11]=#..........#
set arrayline[12]=############
::read it using a FOR /L statement
for /l %%n in (0,1,12) do (
set buffer=%arrayline[n]%
echo %buffer%
)
pause
我需要将信息放入变量(这里是缓冲区)。
如果可能,有人可以替换我的必要代码吗?
我是一个乞丐,所以如果不够清楚,请问;)
提前谢谢。
答案 0 :(得分:2)
CALL echo %%arrayline[%%n]%%
是这里的经典解决方案。这将在子过程中执行echo %arrayline[n]%
。
CALL SET "myvar=%%arrayline[%%n]%%"
CALL ECHO %%myvar%%