PowerShell 技能连载 - 隐藏进度条
有些时候,cmdlet 自动显示一个进度条,以下是一个显示进度条的例子:
1 | $url = "http://www.powertheshell.com/reference/wmireference/root/cimv2/" |
Invoke-WebRequest
获取一个 WEB 页面的原始内容,如果获取内容消耗一定的时间,将会显示进度条。
Whenever you run a cmdlet that shows a progress bar, you can hide the progress bar by temporarily changing the $ProgressPreference variable. Just make sure you restore its original value or else, you permanently hide progress bars for the current PowerShell session:
当您运行一个会显示进度条的 cmdlet,您可以通过临时改变 $ProgressPreference
变量来隐藏进度条。只需要记得恢复它的初始值或是设置成其它值,这样就可以针对当前 PowerShell 会话隐藏进度条。
1 | $old = $ProgressPreference |
除了保存和恢复原始的变量内容,您还可以使用脚本块作用域:
1 | & { |
如您所见,当脚本块执行完之后,原始变量自动恢复原始值。
PowerShell 技能连载 - 隐藏进度条