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

For 循环是任何编程语言中(valuable tools in any programming language)最有价值的工具之一,  Microsoft PowerShell也不例外。您可以使用其他循环来重复命令,但 For 循环可能是最直接的。

从迭代数组到执行预定次数的函数,您可以使用此工具实现许多目标。这是有关如何在PowerShell中使用 For 循环的教程。

PowerShell中 For循环(Loops)用途(Use)是什么?

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

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

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

PowerShell中For循环(Loop)语法(Syntax)

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

对于(初始化(Initialization)条件(Condition)更新(Update)

{

    脚本块(Script Block)

}

如何在PowerShell 脚本中使用 For(PowerShell Script)循环(Loop)

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

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

$n = 10

$总和 = 0

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

{

    $sum = $sum + $i

}

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

通过 For 循环访问数组

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

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

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

{

    $周[$i]

}

使用ForEach 循环(ForEach Loop)快速(Quickly Iterate)遍历数组

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

Foreach ($day in $week)

{

    $天

}

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

For循环与(Loop Different)其他类型(Types)循环(Loops)有何不同?

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

尽管

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

而(条件(Condition)

{

    脚本块(Script Block)

}

Do-While

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

做 {

    脚本块(Script block)

}

而(条件(Condition)

做-直到

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

做 {

    脚本块(Script Block)

}

直到(条件(Condition)

为什么 For 循环更好

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

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

For 循环通过需要在起始括号内初始化和递增表达式来避免这个问题。这会导致更清晰、更健壮的脚本。

什么时候应该在PowerShell中使用 For循环(Loop)

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

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

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



About the author

我是一名技术人员,多年来一直在音频和用户帐户领域工作。我有使用 Windows 和 Mac 电脑以及苹果产品的经验。自 2007 年以来,我还一直在教授 Apple 产品的使用。我的主要专业领域是用户帐户和家庭安全。除此之外,我还使用过各种软件程序,包括 Windows 7 Home Premium、8.1 Pro、10 Pro 和 12.9 Mojave。



Related posts