Robocopy将以大于0的代码退出,但仍可能不会失败。 PSake检测到任何超过0的故障,并失败构建。这是好的,但如何走到这仍然失败:Psake和robocopy失败
task Deploy {
robocopy $source $dest /NP /S /XO /NFL /NDL /NJH /NJS | Out-Default
if ($lastexitcode -eq 3)
{
Write-Host "Got Here"
$lastexitcode = 0
}
Write-Host "Deploy local complete"
Write-Host $lastexitcode
}
TaskTearDown {
if ($LastExitCode -ne 0) {
write-host "Build failed"
exit 1
}
}
我可以验证部署if语句被击中而写主机输出0,正确的,但在TaskTearDown仍然检测到最后的退出代码3!我该如何解决?
我不会指定'$ lastexitcode',它是一个自动变量。赋值可能会创建一个局部变量,“TaskTearDown”仍然会看到原始的变量。在任何情况下都可以尝试使用不同的方法,而不要使用'$ lastexitcode = 0'。 – 2013-05-14 04:48:11