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 循环在任何需要重复一组命令的场景中都不可或缺。
.