抑制powershell输出消息
我有一个TFS 2013更新2 buildserver。当我构建一个项目时,我签出一些文件,修改一些内容,然后再次签入。这很有效。 唯一的问题是,当有人签出其中一个文件时,buildserver会将其视为错误,并且构建将部分成功。实际上,这只是一条信息消息,但构建将其视为一个错误。如何抑制这些消息 我有以下Powershell命令:抑制powershell输出消息,powershell,tfs,tfsbuild,tfs-power-tools,Powershell,Tfs,Tfsbuild,Tfs Power Tools,我有一个TFS 2013更新2 buildserver。当我构建一个项目时,我签出一些文件,修改一些内容,然后再次签入。这很有效。 唯一的问题是,当有人签出其中一个文件时,buildserver会将其视为错误,并且构建将部分成功。实际上,这只是一条信息消息,但构建将其视为一个错误。如何抑制这些消息 我有以下Powershell命令: Add-TfsPendingChange -Edit -Item $PathToFolderToCheckout -Recurse 该命令来自TFS 2013电动
Add-TfsPendingChange -Edit -Item $PathToFolderToCheckout -Recurse
该命令来自TFS 2013电动工具
我尝试了以下方法,但无效:
- 使用
和Igonore
SilentlyContinue添加
-ErrorAction
- 添加
-Out Null
- 试着把捕获物清空
Add TfsPendingChange-Edit-Item$PathToFolderToCheckout-Recurse-ErrorAction-SilentlyContinue-wa 0 | Out null
或
[void](添加TfsPendingChange-Edit-Item$PathToFolderToCheckout-Recurse-ErrorAction SilentlyContinue-wa 0)
您还可以将cmdlet的结果分配给变量(并且不对其执行任何操作):
$throwaway=Add TfsPendingChange-Edit-Item$PathToFolderToCheckout-Recurse-ErrorAction-SilentlyContinue-wa 0
我认为它需要在标准输出流中才能发送到null。试试这个:
$Null = Add-TfsPendingChange -Edit -Item $PathToFolderToCheckout -Recurse *>&1
*>&1将所有输出重定向到标准输出,$null是用于此目的的保留变量。它比管道输出空值更有效
另一种选择是为错误设置操作首选项。我以前见过cmdlet似乎不承认-ErrorAction公共参数的情况
$ErrorActionPreference = 'SilentlyContinue'
Add-TfsPendingChange -Edit -Item $PathToFolderToCheckout -Recurse
$ErrorActionPreference = 'Continue'
试试这个:
$Null = Add-TfsPendingChange -Edit -Item $PathToFolderToCheckout -Recurse *>&1
Add-TfsPendingChange -Edit -Item $PathToFolderToCheckout -Recurse 2>&1 >$null
2>&1
参数将stderr
重定向到stdout
,$null
参数将stdout
重定向到null,因此不会显示任何内容
或者,如果您只想隐藏发送到stderr的数据,只需重定向:
Add-TfsPendingChange -Edit -Item $PathToFolderToCheckout -Recurse 2>$null
经过一些努力,我成功地将其用于我们的Tfs构建\o/ 您必须以
*>&1 | out null
例如:
Add-TfsPendingChange -Edit -Item $PathToFolderToCheckout -Recurse *>&1 | out-null
副作用是导致错误的所有消息都丢失。虚假输出是什么样子的?如果是警告,您可以添加
-wa 0
切换到上述命令之一,然后再试一次。输出仅是我在上述问题中所说的消息。。。如果您签出一个已被其他人签出的文件,我猜这与Visual Studio的输出窗口中显示的消息相同。。。只是信息/警告消息…请使用-wa
开关尝试修改后的答案。我不使用TFS,因此无法直接测试您的命令。你能给我们看一个发生了什么的截图吗?你能发布一个你正在谈论的截图吗?这会有帮助的。