📅  最后修改于: 2023-12-03 15:30:50.591000             🧑  作者: Mango
在 PowerShell 中,foreach 循环被广泛用于遍历集合并对元素进行操作。foreach 循环是一种简洁而强大的语法,可以显著简化在集合上执行操作的代码。
以下是一个遍历字符串数组的 foreach 循环的示例:
$colors = "red", "green", "blue"
foreach ($color in $colors) {
Write-Host "The color is $color"
}
输出结果为:
The color is red
The color is green
The color is blue
以下示例展示了一个遍历字符串键-值对哈希表的 foreach 循环:
$employees = @{ "John"="Developer"; "Mary"="Manager"; "Jim"="Tester" }
foreach ($employee in $employees.GetEnumerator()) {
Write-Host "$($employee.Key) is a $($employee.Value)"
}
输出结果为:
John is a Developer
Mary is a Manager
Jim is a Tester
以下示例显示了一个遍历对象数组的 foreach 循环:
$computers = Get-Content -Path "C:\Computers.txt" | Select-Object -Unique
foreach ($computer in $computers) {
Get-WmiObject -Class Win32_OperatingSystem -ComputerName $computer | Select-Object -Property PSComputerName, Caption, ServicePackMajorVersion,
Version | Format-Table -AutoSize
}
此命令从 "C:\Computers.txt" 文件中读取计算机名称,然后遍历该列表并检索有关每个计算机的操作系统信息。
以下示例显示了一个遍历文件夹的 foreach 循环:
$localFolder = "C:\Documents"
foreach ($file in (Get-ChildItem -Path $localFolder -Recurse)) {
$fileAttributes = [string]::Join(", ", $file.Attributes)
Write-Host "$($file.FullName) ($fileAttributes) - $([int]$file.Length / 1KB)KB"
}
此命令列出了指定文件夹下的所有文件和子文件夹,以及它们的大小和文件属性。
foreach 循环是 PowerShell 中遍历集合并对元素进行操作的最常用方法之一。使用它可以大大简化代码,可读性更强,易于理解和调试。
如有疑问,请参考 Microsoft 官方文档。