使用-ErrorVariable填充变量

时间:2013-12-06 21:40:04

标签: powershell

我正在使用powershell 4.0,我正在尝试使用-ErrorVariable参数来填充变量,以便我可以检查.count属性并查看上一步中是否发生了错误。我试过使用指南here,但似乎无法让它发挥作用。

我有脚本的这部分调用xml文件

$getError = $null
[xml]$a = Get-Content -ErrorVariable $getError .\test.xml
Write-Host $getError.count

我有一个错误的xml文件的步骤,但$getError的价值仍然是$ null,即使步骤失败。

2 个答案:

答案 0 :(得分:6)

除了@mjolinor所说的,你还要将$ getError的传递给-ErrorVariable参数。要使用-ErrorVariable,您需要传递不包含$的变量的名称

$getError = $null
[xml]$a = Get-Content -ErrorVariable getError .\test.xml
Write-Host $getError.count

答案 1 :(得分:1)

你没有得到任何东西,因为Get-Content成功了。失败的是后续转换为[XML],但你不能用ErrorVariable来捕获它 这对你有用吗?

$getError = @()
try { [xml]$a = Get-Content  $getError .\test.xml -ErrorAction Stop }
 catch { $getError += $Error[0] }
Write-Host $getError.count