如何处理PowerShell脚本中的tf.exe错误

时间:2018-12-23 15:15:18

标签: 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错误?

我尝试了try catch,但是没有用,尽管错误地执行了try块而不是catch

我也尝试过使用变量获取输出$test = & $tfExe checkin ...并仍然收到错误(变量为空)。

1 个答案:

答案 0 :(得分:2)

PowerShell无法理解来自本机可执行文件的错误。您必须解析输出以做出决定。您可以将错误流重定向到输出流。

$Output = tf.exe … 2>&1

$Output.exception.message -match 'There are no remaining'
相关问题