我有一个获取共享大小的命令 - 但是由于基于谁自然运行脚本的权限,它会使控制台发生错误。
$shareSize = [math]::round((Get-ChildItem $($share.path) -Recurse -Force | Measure-Object -Property Length -Sum ).Sum/1GB)
我想抑制错误,如果可能的话将ECHO关闭?
答案 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)以获取更多详细信息。并且要小心这些选项 - 隐藏错误通常不是一个好主意。