BAT批处理中使用数组示例
批处理指令中并没有原生支持数组,但这不代表不能模拟出来。
来看下面的代码:
SETObj_Length=2 SETObj[0].Name=Test1 SETObj[0].Value=HelloWorld SETObj[1].Name=Test2 SETObj[1].Value=blahblah
这样就定义了一个数组了,而且是结构体的数组。
在需要取值的时候,可以这么玩:
SETObj_Index=0 :LoopStart IF%Obj_Index%EQU%Obj_Length%GOTO:EOF SETObj_Current.Name=0 SETObj_Current.Value=0 FOR/F"usebackqdelims==.tokens=1-3"%%IIN(`SETObj[%Obj_Index%]`)DO( SETObj_Current.%%J=%%K ) ECHOName=%Obj_Current.Name% ECHOValue=%Obj_Current.Value% ECHO. SET/AObj_Index=%Obj_Index%+1 GOTOLoopStart
输出结果:
Name=Test1 Value=HelloWorld Name=Test2 Value=blahblah
怎么样,很不错吧~~