gpt4 book ai didi

powershell - Psake 和 robocopy 失败

转载 作者:行者123 更新时间:2023-12-02 22:56:17 36 4
gpt4 key购买 nike

Robocopy 将退出并显示大于 0 的代码,但仍然可能不是失败。 PSake 将任何高于 0 的值检测为失败并导致构建失败。这很好,但是为什么这个仍然失败:

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
}
}

我可以验证 Deploy if 语句是否被命中并且 Write-Host 正确输出 0,但 TaskTearDown 仍然检测到最后的退出代码为 3!我该如何解决?

最佳答案

低于 8 的

robocopy 退出代码是非错误状态代码。只有 8 及以上的退出代码才指示错误。请参阅here .

您的拆卸任务仍然报告退出代码为 3 的原因可能是因为自动变量 $LastExitCode 是一个全局变量,而您的部署任务会创建一个额外的变量本地变量$lastexitcode,屏蔽任务范围内的全局变量。正如 this answer 中所建议的对于类似的问题,请使用 $global: 前缀:

$global:LastExitCode = $null

关于powershell - Psake 和 robocopy 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16533843/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com