如何处理PowerShell脚本中的tf.exe错误
我有一个运行如何处理PowerShell脚本中的tf.exe错误,powershell,tfs,tf-cli,Powershell,Tfs,Tf Cli,我有一个运行tf.exe命令的PowerShell脚本 $tfExe = {C:\path\to\tf.exe} & $tfExe checkout / checkin etc. 如果我试图对未更改的文件运行checkin命令,则会出现错误: 未签入以下更改,因为未修改该项 撤消编辑:{C:\path\to\file} 问题是,我在TFS生成中运行脚本,生成失败并出现错误: [错误]没有要签入的剩余更改 但这不是一个真正的错误,如果没有更改,所以不要签入,这对我来说是一个好行为 如何处
tf.exe
命令的PowerShell脚本
$tfExe = {C:\path\to\tf.exe}
& $tfExe checkout / checkin etc.
如果我试图对未更改的文件运行checkin
命令,则会出现错误:
未签入以下更改,因为未修改该项
撤消编辑:{C:\path\to\file}
问题是,我在TFS生成中运行脚本,生成失败并出现错误:
[错误]没有要签入的剩余更改
但这不是一个真正的错误,如果没有更改,所以不要签入,这对我来说是一个好行为
如何处理tf.exe
错误?
我尝试了try-catch
,但没有成功,尽管出现了错误,try
块被执行,而不是catch
我还尝试使用一个变量获取输出
$test=&$tfExe checkin…
,但仍然得到一个错误(变量为空)。PowerShell无法理解本机可执行文件中的错误。您必须对输出进行解析才能做出决定。您可以将错误流重定向到输出流
$Output = tf.exe … 2>&1
$Output.exception.message -match 'There are no remaining'
$LASTEXITCODE
包含您上次运行的可执行文件的退出代码。但这对我没有帮助,因为只有在我得到错误并且构建已经失败后,我才能调查$LASTEXITCODE
。我想这对我有帮助!非常感谢。