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