在被告知时,TFS.exe命令行似乎不会将所有输出重定向到文件

Gil*_*ton 3 tfs command-line-arguments

背景:我们有一个构建机器,它从TFS获取并构建项目和许多安装(包括Installshield).我想扫描TFS get命令的输出,以突出显示该过程中的任何本地文件错误或警告.

问题:使用时

tf.exe get /force /recursive >>mylogfile.txt
Run Code Online (Sandbox Code Playgroud)

我得到了一个非常大的成功项目的日志文件,但最后它说

---- Summary: 0 conflicts, 0 warnings, 1 errors ----
Run Code Online (Sandbox Code Playgroud)

日志文件的内容中似乎缺少这些错误,但这些错误存在于命令行窗口中.

有什么办法可以让tf.exe将所有警告和错误输出到我的日志文件中吗?

Rus*_*mos 7

请改用:

tf.exe get /force /recursive 1> mylogfile.txt 2>&1
Run Code Online (Sandbox Code Playgroud)

tf.exe在STDERR流上输出错误,而默认重定向仅捕获STDOUT流,在命令提示符中保留STDERR(这就是您没有看到错误的原因).上面的语法将STDERR重定向到STDOUT,然后将STDOUT重定向到文件中.