如何在 PowerShell 中向命令添加进度条

How to add a progress bar to a command in PowerShell

我正在编写一个脚本,使用此命令在 powershel 中删除用户配置文件

Get-WMIObject -class Win32_UserProfile | Where {(!$_.Special) -and (!$_.loaded)} | Remove-WmiObject

我将如何向命令添加进度条,以便在删除一个配置文件后它会上升,这是 gui 程序的一部分并且控制台是隐藏的

如果您要使用 Write-Progress,我建议您使用循环遍历每个用户配置文件。类似的东西。

$profiles = Get-WMIObject -class Win32_UserProfile | Where {(!$_.Special) -and (!$_.loaded)}
$num_profiles = $profiles.Count
Function Remove_Prof
{
    for ($i = 1; $i -lt $num_profiles; $i++)
        { 
        Remove-WMIObject $profiles[$i]
        Start-Sleep -m 1000  
        Write-Progress -Activity 'Removing Profiles' -Status "Deleted $i out of $num_profiles profiles" -PercentComplete (($i/$num_profiles) * 100)
        
        }
}

Remove_Prof;

您可以 replace/remove 睡眠呼叫 - 我只是有那个,因为在我的测试中我实际上并没有删除配置文件。