问题描述
我在foreach块外定义了一个int变量,试图在该块内进行设置并在外部访问它。但是,当我运行此脚本时,出现以下错误。这似乎是基本的事情,但是我是PowerShell的新手。
脚本:
[int]$ErrorCount = 0
1..3 | ForEach-Object -ThrottleLimit 40 -Parallel {
$using:ErrorCount++
}
$FinishMessage = "Errors: {0}" -f $ErrorCount
echo $FinishMessage
解决方法
更典型的习惯用法是返回一些属性:
1..40 | ForEach-Object -ThrottleLimit 40 -Parallel {
sleep 1
[pscustomobject]@{Error = $true }
} | measure error
Count : 40
Average :
Sum :
Maximum :
Minimum :
StandardDeviation :
Property : Error