1

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

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

我想抑制错误,比如尽可能关闭 ECHO?

4

2 回答 2

5

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

[math]::round((Get-ChildItem $($share.path) -Recurse -Force 2>$null
于 2013-07-30T22:16:33.417 回答
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) 了解更多详情。并且要小心这些选项——隐藏错误通常不是一个好主意。

于 2013-07-30T22:24:11.383 回答