欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

BAT批处理中使用数组示例

程序员文章站 2022-03-08 08:25:26
批处理指令中并没有原生支持数组,但这不代表不能模拟出来。 来看下面的代码: set obj_length=2 set obj[0].name=test1...

批处理指令中并没有原生支持数组,但这不代表不能模拟出来。

来看下面的代码:

set obj_length=2
 
set obj[0].name=test1
set obj[0].value=hello world
 
set obj[1].name=test2
set obj[1].value=blahblah

这样就定义了一个数组了,而且是结构体的数组。

在需要取值的时候,可以这么玩:

set obj_index=0
 
:loopstart
if %obj_index% equ %obj_length% goto :eof
 
set obj_current.name=0
set obj_current.value=0
 
for /f "usebackq delims==. tokens=1-3" %%i in (`set obj[%obj_index%]`) do (
  set obj_current.%%j=%%k
)
 
echo name = %obj_current.name%
echo value = %obj_current.value%
echo.
 
set /a obj_index=%obj_index% + 1
 
goto loopstart

输出结果:

name = test1
value = hello world

name = test2
value = blahblah

怎么样,很不错吧~~