Batch file 不带setlocal enabledelayedexpansion的循环批处理

Batch file 不带setlocal enabledelayedexpansion的循环批处理,batch-file,Batch File,例如,使用此代码: setlocal enabledelayedexpansion set arrayline[0]=############ set arrayline[1]=#..........# set arrayline[2]=#..........# set arrayline[3]=#..........# set arrayline[4]=#..........# set arrayline[5]=#..........# set arrayline[6]=#..

例如,使用此代码:

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行)

我的意思是,而不是
!阵列线[%%n]
我想要这样的东西:
%arrayline[n]%
以便将信息放在变量中(这样:)

需要将信息放入变量中(此处为缓冲区)

如果可能的话,有人能替换我的代码吗

我是一个乞丐,所以如果还不够清楚,就问我;)

先谢谢你

CALL echo %%arrayline[%%n]%%
是这里的经典解决方案。这将在子过程中执行
echo%arrayline[n]


是这里的经典解决方案。这将在子过程中执行
echo%arrayline[n]



我真的很想放!阵列线[%%n]!在变量中,但我不能使用该语法。你的不允许把信息也放在一个变量中,所以…我真的想放!阵列线[%%n]!在变量中,但我不能使用该语法。您的不允许将信息也放入变量中,因此…为什么要避免使用setlocal enabledelayedexpansion?在四个循环中使用百分比扩展很少有好的理由。我想您误解了延迟扩展的一些观点,为什么要避免使用setlocal enabledelayedexpansion?在四个循环中使用百分比扩展很少有好的理由。我想你误解了延迟扩张的一些观点
CALL echo %%arrayline[%%n]%%
CALL SET "myvar=%%arrayline[%%n]%%"
CALL ECHO %%myvar%%