您好,我注意到以下代码片段出现了一些奇怪的行为
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
关于Powershell:函数中的 $LASTEXITCODE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10943554/