关掉Powershell的回声

时间:2013-07-30 22:13:08

标签: powershell

我有一个获取共享大小的命令 - 但是由于基于谁自然运行脚本的权限,它会使控制台发生错误。

 $shareSize = [math]::round((Get-ChildItem $($share.path) -Recurse -Force | Measure-Object -Property Length -Sum ).Sum/1GB)

我想抑制错误,如果可能的话将ECHO关闭?

2 个答案:

答案 0 :(得分:5)

您可以通过将错误流重定向到$null来抑制错误消息,例如:

[math]::round((Get-ChildItem $($share.path) -Recurse -Force 2>$null

答案 1 :(得分:3)

您可以将ErrorAction参数添加到对Get-ChildItem的调用中(我假设这是错误来自的地方),如下所示:

 $shareSize = [math]::round((Get-ChildItem $($share.path) -Recurse -Force -ErrorAction SilentlyContinue | Measure-Object -Property Length -Sum ).Sum/1GB)

请查看ErrorAction和$ ErrorActionPreference内置变量(get-help about_Preference_Variables)以获取更多详细信息。并且要小心这些选项 - 隐藏错误通常不是一个好主意。