在 DOS/Windows 批处理文件中,如何设置/使用数组和循环索引中的变量,以便生成如下所示的输出?
SETLOCAL ENABLEDELAYEDEXPANSION
set x[0]=one
set x[1]=two
set x[2]=three
for %%i in (0,1,3) do (
call set y=%x[%%i]%
echo y=%y%
)
DESIRED OUTPUT:
y=one
y=two
y=three
我真正想做的是重复调用一个程序并传递一堆参数,其中一个是数组变量。如果我将行上的 [%%i] 替换为调用集,使用 [0],则执行该行时的输出是预期的“调用集 y=one”。但是,如果我使用 [%%i] 访问数组元素,则输出将更改为“call set y =”。我已经尝试了很多方法来做到这一点,但没有一个能产生预期的结果:(