首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将输出重定向到PowerShell中的$null,但确保变量保持设置

将输出重定向到PowerShell中的$null,但确保变量保持设置
EN

Stack Overflow用户
提问于 2011-05-04 17:16:53
回答 5查看 148.1K关注 0票数 98

我有一些代码:

代码语言:javascript
复制
$foo = someFunction

这将输出一条警告消息,我希望将其重定向到$null:

代码语言:javascript
复制
$foo = someFunction > $null

问题是,当我这样做时,虽然成功地抑制了警告消息,但它也有一个负面的副作用,那就是没有用函数的结果填充$foo。

如何将警告重定向到$null,同时仍保持填充$foo?

另外,如何将标准输出和标准错误都重定向到null?(在Linux中,它是2>&1。)

EN

回答 5

Stack Overflow用户

发布于 2011-06-24 05:51:33

我更喜欢用这种方式来重定向标准输出(原生PowerShell)...

代码语言:javascript
复制
($foo = someFunction) | out-null

但这也行得通:

代码语言:javascript
复制
($foo = someFunction) > $null

要在定义结果为"someFunction“的$foo后仅重定向标准错误,请执行以下操作

代码语言:javascript
复制
($foo = someFunction) 2> $null

这实际上与上面提到的是相同的。

或者重定向来自"someFunction“的任何标准错误消息,然后使用结果定义$foo:

代码语言:javascript
复制
$foo = (someFunction 2> $null)

要重定向两者,您有以下几个选项:

代码语言:javascript
复制
2>&1>$null
2>&1 | out-null
票数 174
EN

Stack Overflow用户

发布于 2011-05-04 17:49:18

这应该是可行的。

代码语言:javascript
复制
 $foo = someFunction 2>$null
票数 13
EN

Stack Overflow用户

发布于 2013-10-09 22:15:28

如果是你想隐藏的错误,你可以这样做

代码语言:javascript
复制
$ErrorActionPreference = "SilentlyContinue"; #This will hide errors
$someObject.SomeFunction();
$ErrorActionPreference = "Continue"; #Turning errors back on
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5881174

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档