PowerShell For 循环如何多次运行命令


For 循环是最任何编程语言中的有价值的工具 的循环之一,Microsoft PowerShell 也不例外。您可以使用其他循环来重复命令,但 For 循环可能是最简单的。

从遍历数组到执行预定次数的函数,您可以使用此工具实现许多功能。以下是有关如何在 PowerShell 中使用 For 循环的教程。

PowerShell 中的 For 循环有什么用?

命令提示符 不同,PowerShell是一个完整的脚本环境。这意味着您可以编写可重用的 PowerShell 脚本 来自动执行任务,而不是手动输入命令。而For循环是编写这些模块的关键。

For 语句重复脚本块特定次数,修改给定变量以跟踪进度。这允许您将循环用于一些相当有趣的场景。

您可以生成数字序列、确定素数或显示倒计时器。更实际的是,您可以迭代对象数组,对每个条目执行一些操作。

PowerShell 中 For 循环的语法

For 循环在 Windows PowerShell 中的工作方式与在任何编程语言中的工作方式相同。初始化跟踪变量、测试其值和修改变量的表达式位于“For”后面的括号内,并用分号分隔。然后是用大括号括起来的语句列表本身。

对于(初始化条件更新

{

    脚本块

}

如何在 PowerShell 脚本中使用 For 循环

使用 For 循环非常简单。每当您遇到需要重复稍微不同的步骤的情况时,您应该将其放入 For 循环中。

假设您需要编写一个代码片段,可以求出变量 $n 中包含的数字 n之前所有自然数的总和。这是一个基本的 For 循环示例:

$n = 10

$总和= 0

对于 ($i = 1 ; $i -le $n ; $i++)

{

    $sum = $sum + $i

}

“$n个自然数之和为$sum”

通过 For 循环访问数组

.

大多数人使用 PowerShell 的目的几乎不是生成数字序列。更常见的用法是迭代数组。

假设您有一个包含七个元素的数组 $week。您可以使用简单的 For 循环输出数组中包含的日期列表,如以下示例所示。

对于 ($i = 0 ; $i -lt $week.Length ; $i++)

{

    $week[$i]

}

使用 ForEach 循环快速迭代数组

For 循环的另一种形式是 ForEach 语句。此版本简化了对 PowerShell 数组内容的遍历和单独处理。例如,前面的代码片段可以重写如下:

Foreach($周中的$天)

{

    $天

}

处理更复杂的对象时,您还可以使用 Foreach-Object cmdlet 对任何 PowerShell 命令的内容执行操作。

For 循环与其他类型的循环有何不同?

For 循环并不是唯一可用的循环语句类型。与大多数编程语言一样,PowerShell 具有多种类型的循环。

同时

其中最简单的是 While 循环。您所拥有的只是一个条件和一个脚本块,只要测试表达式的计算结果为 true,循环就会运行。由于首先计算表达式,因此代码有可能根本不运行或最终成为无限循环。

同时(条件

{

    脚本块

}

同时执行

如果您正在编写需要至少运行一次的脚本(即使表达式的计算结果为 false),那么您可以使用 Do-While 循环。与 While 循环的唯一区别是,它将命令块放在条件之前,这意味着代码在第一次检查测试表达式之前执行。

做{

    脚本块

}

同时(条件

执行直至

此循环的另一个版本是 Do-Until。基本上,它运行代码块,然后重复它,直到测试表达式为 true - 与 Do-While 循环相反。这不是一个特别有用的结构,因为您可以通过修改标准 Do-While 循环中的条件来实现相同的效果。.

做{

    脚本块

}

直到(条件

为什么 For 循环更好

所有这些其他循环结构的问题是它们不包含初始值或更新语句。您必须手动记住在循环外创建一个变量,然后在每次循环期间递增(或递减)它。

正如您所料,程序员经常忘记这一步,导致脚本无法按预期工作。这会浪费宝贵的调试时间。

For 循环通过在起始括号内进行初始化和增量表达式来避免此问题。这会产生更干净、更健壮的脚本。

什么时候应该在 PowerShell 中使用 For 循环?

PowerShell 的作用就是创建自动化脚本。实现这一目标最有用的工具可能是 For 循环。您可以使用它用更紧凑、优雅的脚本替换许多复制粘贴操作。

此循环最常见的功能是迭代数组,一次一个条目。对于更简化的脚本,您也可以使用 ForEach 循环。您还可以使用 For 循环生成数字序列,尽管很少需要。

For 循环通过将循环的所有基本函数包含到参数中来超越其他循环算法,从而防止由于忘记这些语句而导致任何错误。这使得 For 循环在任何需要重复一组命令的场景中都不可或缺。

.

相关文章:


5.04.2022