如何在 Foreach-Object Parallel 内使用变量?
有两种不同的类型变量,可以在 foreach parallel 循环内使用。一种是在循环内声明的,另一种是在 foreach parallel 循环外声明的。
请注意 − 在此讨论的是 Foreach-Object Parallel 循环,适用于 PowerShell 版本 7。对于普通 foreach 循环,内外部变量都是相同的。
在 Foreach parallel 循环内声明的变量可以直接使用其名称。例如,
示例
$vms = "TestVm1","TestVM2","TestVm3"
$Vms | ForEach-Object -Parallel{
$var1 = $_
Write-Output "Testing VM: $var1"
}输出
Testing VM: TestVm1 Testing VM: TestVM2 Testing VM: TestVm3
在上述示例中,$var1 在 foreach parallel 循环内声明,我们可以直接用其名称来使用它,如所示。但是在以下示例中,在 foreach parallel 循环外声明的 $log 变量,我们可以通过 $Using 关键字后跟变量名称,在循环内使用它。
$vms = "TestVm1","TestVM2","TestVm3"
$log = "Application"
$Vms | ForEach-Object -Parallel{
$var1 = $_
Write-Output "Checking $($using:log) on $var1"
}输出
Checking Application on TestVm1 Checking Application on TestVM2 Checking Application on TestVm3
在上述示例中,在 foreach parallel 循环内使用的 $using:log 变量是一个 $log 变量。
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP