进度条未显示

时间:2017-10-12 17:51:59

标签: powershell

如果循环体中的命令完成得太快,则写入进度将不会显示进度条。

function process-item($item)
{
   // do something
}

$items = 0..100
$cnt = $items.Count
for($i = 0; $i -lt $cnt; ++$i)
{
    Write-Progress -Activity "Item #$i" -PercentComplete ($i/$cnt*100) -Status "Processing"
    process-item $items[$i]
}

以上代码太快,进度条不会显示;好吧它可能会出现然后关闭但是速度太快以至于我看不到它。

使用sleep命令有帮助但我不想只使用sleep命令以便进度条可见。

有没有办法指示PS保持进度条直到明确关闭或按下?

1 个答案:

答案 0 :(得分:0)

如果之后还有其他命令运行,它就不会关闭它。

尝试在for之后添加睡眠,或者可以使用

Read-Host 'Press Enter to Continue'

一旦所有进程完成,它将关闭,或者您可以在运行时使用

提前关闭它
Write-Progress -Activity 'xyz' -Completed