我想知道Batch Scripting中的Arrays是什么以及它的工作原理? 以及为什么我们需要在批处理文件中使用数组?
我知道我们可以使用 SET 和 FOR 命令来创建数组但不知道为什么我们必须使用它。
非常感谢!
@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
为什么我们必须在批处理脚本中使用此类代码?
答案 0 :(得分:6)
你没有“必须”使用数组,你“可以”使用语言提供或允许你使用的工具,但在这种情况下,工具甚至不存在。
批处理文件的语法不包含数组
但是,we can simulate它们存在(和二叉树,链表,定义类型,......)。批处理解析器只能看到变量,变量名称允许检索存储的信息,它是我们的命名,以及我们如何编码存储/检索操作,从而创建我们对数组的感知。