我有一个运行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 ...
并仍然收到错误(变量为空)。
答案 0 :(得分:2)
PowerShell无法理解来自本机可执行文件的错误。您必须解析输出以做出决定。您可以将错误流重定向到输出流。
$Output = tf.exe … 2>&1
$Output.exception.message -match 'There are no remaining'