我有一个获取共享大小的命令 - 但是由于基于谁自然运行脚本的权限,它会向控制台发送错误消息。
$shareSize = [math]::round((Get-ChildItem $($share.path) -Recurse -Force | Measure-Object -Property Length -Sum ).Sum/1GB)
我想抑制错误,比如尽可能关闭 ECHO?
我有一个获取共享大小的命令 - 但是由于基于谁自然运行脚本的权限,它会向控制台发送错误消息。
$shareSize = [math]::round((Get-ChildItem $($share.path) -Recurse -Force | Measure-Object -Property Length -Sum ).Sum/1GB)
我想抑制错误,比如尽可能关闭 ECHO?
您可以通过将错误流重定向到 来抑制错误消息$null
,例如:
[math]::round((Get-ChildItem $($share.path) -Recurse -Force 2>$null
您可以将 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) 了解更多详情。并且要小心这些选项——隐藏错误通常不是一个好主意。