Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
抑制powershell输出消息_Powershell_Tfs_Tfsbuild_Tfs Power Tools - Fatal编程技术网

抑制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电动

我有一个TFS 2013更新2 buildserver。当我构建一个项目时,我签出一些文件,修改一些内容,然后再次签入。这很有效。 唯一的问题是,当有人签出其中一个文件时,buildserver会将其视为错误,并且构建将部分成功。实际上,这只是一条信息消息,但构建将其视为一个错误。如何抑制这些消息

我有以下Powershell命令:

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,因此无法直接测试您的命令。你能给我们看一个发生了什么的截图吗?你能发布一个你正在谈论的截图吗?这会有帮助的。