【发布时间】:2017-02-13 12:42:04
【问题描述】:
我想知道什么是批处理脚本中的数组以及它是如何工作的? 以及为什么我们需要在批处理文件中使用数组?
我知道我们可以使用 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
为什么我们必须在批处理脚本中使用这样的代码?
【问题讨论】:
-
谁说你必须这样做?此外,批处理文件中确实没有数组(不像其他语言中存在的那样);您可以使用一个构造使其看起来像...以上所做的就是创建单独的环境变量(例如
obj[0].Name和obj[2].ID)并使用名称粘贴技术使其看起来有点像访问数组。它可能很有用(尽管我从来不需要它),但请记住它不是成熟的数组。 -
数组数据结构是一个强大的工具,可以用更简单的方式解决各种问题。这方面的例子有很多,所以我邀请你去寻找它们,比如this introduction 或Wikipedia article。请注意,此描述不涉及任何编程语言,因此使用数组的好处也适用于批处理文件。
-
@Aacini 我只需要你关于 Array 的重要信息,谢谢
标签: arrays batch-file