我正在尝试将Windows类型进度条添加到运行Dism的Powershell脚本中。我在使用win32_service时遇到困难。有人知道怎么做吗?
dism / Apply-Image /ImageFile:Z:\path\wim.wim / Index:1 / ApplyDir:C:\
答案 0 :(得分:0)
同意Mathias R. Jessen的观点。
在PowerShell内置帮助文件中以及在整个Web上,制作和使用PowerShell进度栏是有据可查的。这是一篇有关'How to Make a PowerShell Progress Bar'
的示例的文章作者提供并通过gif显示
For ($i=0; $i -le 100; $i++) {
Start-Sleep -Milliseconds 20
Write-Progress -Activity "Counting to 100" -Status "Current Count: $i" -PercentComplete $i -CurrentOperation "Counting ..."
}
和嵌套的进度条。
For ($i=0; $i -le 100; $i++) {
Start-Sleep -Milliseconds 1
Write-Progress -Id 1 -Activity "First Write Progress" -Status "Current Count: $i" -PercentComplete $i -CurrentOperation "Counting ..."
For ($j=0; $j -le 100; $j++) {
Start-Sleep -Milliseconds 1
Write-Progress -Id 2 -Activity "Second Write Progress" -Status "Current Count: $j" -PercentComplete $j -CurrentOperation "Counting ..."
}
}
还有,您使用WQL与内置PowerShell cmdlet来查看服务的任何原因是什么?
Get-Service | Where-Object {$_.Status -eq "Running"}
以及为什么要使用进度条,因为return是立即返回的,并且只输出名称?你可以做的...
(Get-Service | Where-Object {$_.Status -eq "Running"}).Name
或
Get-Service | Where-Object {$_.Status -eq "Running"} | Select-Object -Property Name
每个人都会有非常快的回报,进度条没有意义,除非您有意使用Start-Sleep cmdlet放慢进度条,但这应该没有什么理由。
如果您正在寻找带有DISM进度条的脚本。在此处查看此讨论和预先构建的示例:
Generate a GUI progress bar for DISM or ImageX
提供的可接受答案是一长段代码,太长了,无法在此处发布: