我有一些代码:
$foo = someFunction
这将输出一条警告消息,我希望将其重定向到$null:
$foo = someFunction > $null
问题是,当我这样做时,虽然成功地抑制了警告消息,但它也有一个负面的副作用,那就是没有用函数的结果填充$foo。
如何将警告重定向到$null,同时仍保持填充$foo?
另外,如何将标准输出和标准错误都重定向到null?(在Linux中,它是2>&1
。)
发布于 2011-06-24 05:51:33
我更喜欢用这种方式来重定向标准输出(原生PowerShell)...
($foo = someFunction) | out-null
但这也行得通:
($foo = someFunction) > $null
要在定义结果为"someFunction“的$foo后仅重定向标准错误,请执行以下操作
($foo = someFunction) 2> $null
这实际上与上面提到的是相同的。
或者重定向来自"someFunction“的任何标准错误消息,然后使用结果定义$foo:
$foo = (someFunction 2> $null)
要重定向两者,您有以下几个选项:
2>&1>$null
2>&1 | out-null
发布于 2011-05-04 17:49:18
这应该是可行的。
$foo = someFunction 2>$null
发布于 2013-10-09 22:15:28
如果是你想隐藏的错误,你可以这样做
$ErrorActionPreference = "SilentlyContinue"; #This will hide errors
$someObject.SomeFunction();
$ErrorActionPreference = "Continue"; #Turning errors back on
https://stackoverflow.com/questions/5881174
复制相似问题