📜  批处理脚本——遍历数组

📅  最后修改于: 2022-05-13 01:57:33.532000             🧑  作者: Mango

批处理脚本——遍历数组

批处理脚本是一组指令或 SOS 和 Windows 操作系统的脚本。我们可以将它们逐行写入 CMD,也可以创建一个扩展名为“.bat”“.cmd”的文件。该文件可以包含解释器执行的有效指令。批处理的含义是指令的非交互执行。我们可以在此类脚本中添加逻辑和条件编程块。

遍历数组

为了编写更少且可维护的代码脚本,需要对数组进行迭代。我们需要以一种不需要手动回显元素的方式逐个或以特定模式迭代数组的元素。我们可以通过以下方式实现这一点。

方法一:

@echo off 
set list="foo" "bar" "baz"
(for %%a in (%list%) do ( 
   echo %%a 
))

在这种方法中,我们使用基于范围的 for 循环,即我们将遍历数组直到它为空,因此单词for .. in ...所以在 for 循环语法之后我们可以说出关键字,执行命令直到循环是可迭代的。每个索引处的数组内容都存储在变量“a”中,它可以是任何合理的值。

现在使用这种方法,我们可以使用迭代器迭代数组,然后我们可以回显它们。我们也可以通过访问元素的原始数组和索引来修改内容。

方法二:

@echo off
set x[0]=cricket
set x[1]=football
set x[2]=hockey
set x[3]=golf
set x[4]=volleyball

for /L %%a in (0,1,4) do call echo %%x[%%a]%%

上面创建了一个大小为 5 的数组,但它可以是任意长度,迭代是在单行命令中完成的,但是是一个多步骤的过程。首先,for 循环中的 /L 将允许遍历数组元素。范围(0,1,4) 是列表的开始、增量和结束索引。也就是说,我们从索引 0 开始,在每个循环之后递增 1,直到我们在列表的索引中达到数字 4。

之后,我们有一个内联循环体,它调用命令来回显并打印 x[a] 的值,其中 x 是数组变量,a 是循环中的迭代器,我们将变量括在“%%”中获取实际解析的变量的值。我们还在迭代器前使用“ %% ”,以便解析迭代器本身的值和变量周围的“ %% ”以获取 let's 的值说“列表[0] ”。

让我们以遍历数组的某些元素为例:

@echo off
set x[0]=cricket
set x[1]=football
set x[2]=hockey
set x[3]=golf
set x[4]=volleyball

for /L %%a in (1,1,3) do call echo %%x[%%a]%%

在这里,我们不是打印数组中的所有元素。我们将范围用作 (1,1,3),它从索引 1 一个一个地迭代到 3。因此,我们可以通过数组的迭代来实现多种组合。