PowerShell显示进度条

      在运行脚本的时候,如果脚本运行时间较长,就会不知道脚本的运行状况如何,如果在运行过程中有一个进度显示,那将会方便很多。在PowerShell中,通过使用“Write-Progress”命令可以在窗口中显示进度栏,描绘正在运行的命令或脚本的状态。

$servers = get-content d:\serverlist.txt

$i=0

foreach ($server in $servers)

{

if ($server -ne $null)

{}

$i=$i+1

$w=$i.tostring() + '/' + $servers.count.tostring()

Write-Progress -Activity "进度显示" -status "正在处理 $server,请耐心等待,$w" -percentcomplete ($i/($servers.count)*100)

gwmi win32_computersystem -Credential administrator -computer $server

}

      上面脚本的目的是获取远程计算机的系统信息,在运行该脚本的时候,会弹出窗口显示脚本的执行进度。

 

      Write-Progress 命令主要包含了如下几个常用参数:

  • Activity :指定状态栏上方标题中的第一行文本。此文本描述正在报告其进度的活   动。
  • Status :指定状态栏上方标题中的第二行文本。此文本描述活动的当前状态。
  • Percentcomplete :指定已完成的活动的百分比。如果完成百分比未知或不适用,请使用值 -1。

      显示进度条,主要是如何显示其进度百分比。在此例中,“$i”表示正在处理第几个计算机,需要处理的计算机总数为“$servers.count”,则其百分比表示为:$i/($servers.count)*100。

“$w”主要是通过“当前第N个/总数”的形式显示一个当前进度,使之清晰明了。

posted on 2013-03-05 19:30  momingliu11  阅读(2576)  评论(0编辑  收藏  举报