📜  PowerShell For循环(1)

📅  最后修改于: 2023-12-03 14:45:37.567000             🧑  作者: Mango

PowerShell For循环

在 PowerShell 中,for 循环是一种经典循环结构,它允许您重复执行指定次数的代码块。

语法

for 循环的语法如下所示:

for (<initialization>; <condition>; <increment>) {
    # 执行的语句
}

关键字和参数有:

  • initialization:在第一次迭代前执行的代码块。通常用于初始化循环计数器。
  • condition:在每一次迭代前评估的表达式。如果表达式的结果为 false,则跳过迭代并退出循环。
  • increment:在每一次迭代后执行的代码块。通常用于递增循环计数器。
示例

下面是一个示例,展示了如何使用 for 循环输出 hello world 10 次:

for ($i = 0; $i -lt 10; $i++) {
    Write-Output "hello world"
}

在这个示例中:

  • initialization 部分设置变量 $i 的初始值为 0。
  • condition 部分指定了 $i 必须小于 10,否则循环将终止。
  • increment 部分增加 $i 的值,以便在每次迭代后都能递增。

运行上述代码会输出以下内容:

hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
多重迭代

for 循环还可以嵌套在另一个 for 循环中,以实现多重迭代。例如,下面的代码生成了所有可能的两个数字的组合:

for ($i = 1; $i -le 5; $i++) {
    for ($j = 1; $j -le 5; $j++) {
        "$i$j"
    }
}

在这个示例中,我们使用两个嵌套的 for 循环来生成 $1$ 到 $5$ 的所有可能的组合,最终输出以下内容:

11
12
13
14
15
21
22
23
24
25
31
32
33
34
35
41
42
43
44
45
51
52
53
54
55
终止 for 循环

使用关键字 break 可以立即终止 for 循环。例如,以下代码在找到 3 的倍数时立即停止迭代:

for ($i = 1; $i -le 10; $i++) {
    if ($i % 3 -eq 0) {
        Write-Output "Found a multiple of 3: $i"
        break
    }
}

在这个示例中,我们使用 % 运算符来计算 $i 是否是 3 的倍数。在找到第一个 3 的倍数后,将输出 Found a multiple of 3: 3,并永久停止迭代。

继续下一次迭代

使用关键字 continue 可以跳过当前迭代并继续执行下一次迭代。例如,以下代码跳过奇数数值的迭代:

for ($i = 1; $i -le 10; $i++) {
    if ($i % 2 -ne 0) {
        continue
    }
    Write-Output "$i is an even number"
}

在这个示例中,我们使用 % 运算符来判断 $i 是否为偶数,如果是奇数则使用 continue 跳过当前迭代。如果 $i 为偶数,则会输出 $i is an even number

结论

for 循环是 PowerShell 中的一种重要迭代结构,它允许您在一个代码块中重复执行指定次数的代码。它是 PowerShell 开发者的必备工具之一。