批处理脚本 - 在数组中创建结构
在本文中,我们将了解如何在批处理脚本中创建数组结构。
什么是结构?
结构就像一个多类型值列表,与数组不同,我们有一个单一类型值的列表。假设我们有一个名为 person 的数组,我们最初声明了一个名称列表,但是如果我们想添加年龄、电话号码或性别,我们需要创建单独的数组来包含它们并根据名称仔细索引它们在初始数组中。通过在数组中创建结构,我们可以在单个数组中创建多个类似结构的列表。
如何使用数组创建结构?
要在数组中创建结构,我们需要类似地创建列表,但通过将点 [.]运算符与标识符一起添加到每个元素。
我们可以通过使用点运算符定义以组件名称为前缀的索引来轻松定义数组中的结构。
arr_name[index].comp_name=value
让我们以一个人的结构为例,我们可以有姓名、年龄、性别等组件/键。我们可以一个一个地创建数组元素及其键。
@echo off
set struct[0].name=John
set struct[0].age=12
set struct[0].gender="M"
set struct[1].name=Kevin
set struct[1].age=20
set struct[1].gender="M"
set struct[2].name=Jessie
set struct[2].age=15
set struct[2].gender="F"
FOR /L %%i IN (0 1 2) DO (
call echo Name: %%struct[%%i].name%%, Age:^
%%struct[%%i].age%%, Gender:, %%struct[%%i].^
gender%%
)
所以从上面的代码中,我们可以看到我们已经从一个数组中创建了一个结构体。我们有不同类型的变量,如字符串、整数和字符。这些数组形式的结构可以通过在结构中的组件名称前面加上列表的点来检索。即在本例中,我们使用%%struct[%%i].name%%来访问数组结构中第i个元素的名称, .name%%是结构中名称组件的标识符.
我们可以进一步扩展它,以列表的形式创建具有多种类型和组件的自定义结构。这就是我们在 BAtch 脚本中创建结构的方式。