Batch file 在批处理文件的数组中创建结构?

Batch file 在批处理文件的数组中创建结构?,batch-file,Batch File,我正在学习批处理脚本,我遇到了一个部分在数组中创建结构。这是作为示例给出的示例程序。当我尝试执行时,它不起作用。有人能给我解释一下什么是错误的脚本吗? 提前谢谢 代码: @echo off set len=3 set obj[0].name=Joe set obj[0].id=1 set obj[1].name=Mark set obj[1].id=2 set obj[2].name=mohan set obj[2].id=3 set i=0 :loop if %i% equ %len% got

我正在学习批处理脚本,我遇到了一个部分在数组中创建结构。这是作为示例给出的示例程序。当我尝试执行时,它不起作用。有人能给我解释一下什么是错误的脚本吗? 提前谢谢

代码:

@echo off
set len=3
set obj[0].name=Joe
set obj[0].id=1
set obj[1].name=Mark
set obj[1].id=2
set obj[2].name=mohan
set obj[2].id=3
set i=0
:loop
if %i% equ %len% goto :eof
set cur.name=
set cur.id=
for /f "usebackq delims==. tokens=1-3" %%j in ('set obj[%i%]') do (
    set cur.%%k=%%l 
)
echo name=%cur.name%
echo value=%cur.id%
set /a i=%i%+1
goto loop
这是错误的。有两种单引号:

使用正确的引号(不带
usebackq
):

或者使用
usebackq
使用`引号

for /f "usebackq delims==. tokens=1-3" %%j in (`set obj[%i%]`) do (
这是错误的。有两种单引号:

使用正确的引号(不带
usebackq
):

或者使用
usebackq
使用`引号

for /f "usebackq delims==. tokens=1-3" %%j in (`set obj[%i%]`) do (

“它不工作”在无效的问题描述中。Gerhard Barnard问题在于打印名称和值时仅打印名称=和值=打印名称和值的实际值为空“它不工作”在无效的问题描述中。Gerhard Barnard问题在于打印名称和值时,仅打印名称=和值=时,名称和值的实际值为空
for /f "usebackq delims==. tokens=1-3" %%j in (`set obj[%i%]`) do (