当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 变得疯狂:PowerShell 循环简介

作者:精品下载站 日期:2024-12-14 08:09:42 浏览:14 分类:玩电脑

变得疯狂:PowerShell 循环简介


[玩转系统] 变得疯狂:PowerShell 循环简介

循环是大多数编程语言的命脉,它们在任何代码中都发挥着不可或缺的作用。控制程序的执行以迭代项目集合是一项极其常见的任务。

PowerShell 也不例外,它提供了许多不同的循环选项和控制代码执行的方法。本文将概述不同类型的 PowerShell 循环以及您可以使用它们实现的目标。

那么 PowerShell 中有哪些循环可用?

  • 为了
  • ForEach-对象
  • 福里奇
  • 尽管
  • 边做边做
  • 执行直到

其中一些循环的功能是传统的,而其他循环(例如 ForEach-Object)是 PowerShell 以及 PowerShell 对象管道的工作方式所独有的。它们都有自己的位置,并以不同的方式发挥作用。话虽如此,让我们进入 PowerShell 循环!

For循环

For 循环是大多数程序员首先学习的循环之一。使用。它通常用于按设定次数单步执行集合并在每次迭代时运行定义的代码。 For 循环要求用初始值定义迭代器变量,满足将结束循环的条件,以及如何在每次运行循环时增加或减少迭代器变量。这是一个例子:

For ($i = 1; $i -LE 5; $i++) {
		$i * 2 
		}

# Output 2, 4, 6, 8, 10

这个简单的循环对 $i 变量进行操作,正如您所看到的,每次运行循环时,只需将迭代器的值乘以 2。

Foreach循环

对象管道是 PowerShell 所独有的。它允许在操作迭代的对象时具有更高的灵活性,但代价往往是性能较慢。

为了解决这个问题,PowerShell 中的 foreach- 语句允许前端加载应迭代的对象集合的所有项目,而不是像 ForEach-Object 那样将这些对象流式传输做。这是以更高的内存使用率和更高的性能为代价的。

$Array = 1..5 

Foreach ($Number In $Array) {
		$Number
		} 
		
# Output 
1, 2, 3, 4, 5

一个有用的功能是 Foreach 可以与返回对象集合的 cmdlet 一起使用。最常见的示例之一是使用 Get-ChildItem 返回文件集合。

$i = 1 Foreach ($File in Get-ChildItem) {
"File {0}: {1}" -F $i, $File.FullName $i++
}
# Output
File 1: C:\Test\File1.txt
File 2: C:\Test\File2.txt
$Array = 1..20
Foreach ($Number In $Array) { 
		If ($Number % 2) {
		$Foreach.MoveNext() | Out-Null 
		} 
		$Number 
		} 
		
# Output
1, 3, 5, 7, 9, 11, 13, 15, 17, 19

ForEach 对象循环

Foreach-loop 中所述,ForEach-Object 需要来自 PowerShell 管道的对象流。不如 Foreach 快,此方法允许一些附加功能来帮助使 ForEach-Object 非常灵活。这有两个主要原因:

  • 能够使用 Begin、Process 和 End 块
  • 将生成的对象流式传输到管道中的 cmdlet
$Array = @("Item4", "Item2", "Item1", "Item3") 
$Array | ForEach-Object {
		"{0}.{1}" -F $_, "txt" 
		} | Sort-Object 
		
# Output Item1.txt, Item2.txt, Item3.txt, Item4.txt

如上所述,另一个有用的功能是能够定义 Begin 和 End 块以及标准 Process 块。

$Array = @("Item4", "Item2", "Item1", "Item3")
$Array | ForEach-Object { $i = 0 } {
		"File {0}: {1}.{2}" -F $i, $_, "txt" 
		$i++ 
		} { Write-Host "Files Count: $i" } 
		
# Output 
File 0: Item4.txt 
File 1: Item2.txt 
File 2: Item1.txt 
File 3: Item3.txt 
Files Count: 4

While循环

while-循环是一个简单的循环,在条件为真时继续执行。这也意味着您可能会创建无限循环。

While ($Value -NE 3) { 
		$Value++ 
		Write-Host "Value: $Value" 
		} 

#Output 
Value: 1 
Value: 2 
Value: 3

无限循环的一个例子是简单地设置一个始终为 true 的条件。您可以通过以下代码来完成此操作。

While ($True) { 
		"This will run forever!" 
		}

#Output
This will run forever!

Do-While 循环

类似于 while-循环,Do-While 构造只是将脚本块添加到 while-循环意味着脚本至少运行一次,即使 while-loop 在下一次或第一次运行时立即计算为 false。

Do { 
		Write-Host "This will display no matter what" 
		} While ($False) 
		
# Output
This will display no matter what

Do-Until-循环

最后, Do-Until 语句本质上是

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯