嗨,我注意到以下代码段有些奇怪的行为
function test
{
$LASTEXITCODE = $null
ping asdfs
Write-Host "Last exitcode: $LASTEXITCODE"
}
test
Write-Host "Last exitcode: $LASTEXITCODE"
输出是
Ping request could not find host asdfs. Please check the name and try again.
Last exitcode:
Last exitcode: 1
为什么在test()函数中未设置$ LASTEXITCODE?
这是我现在遇到的问题的一般化,当我从函数内调用Win32 .exe时,$ LASTEXITCODE没有返回函数内期望的值
最佳答案
因为您不应该这样设置自动变量。您正在创建局部变量并使其无效。删除$LASTEXITCODE = $null
行,您将获得预期的结果。或者你可以做$global:LASTEXITCODE = $null