我有一个DISM
用于 WinPE 的基于成像的解决方案,如下所示:
set WshShell = CreateObject("WScript.Shell")
Wscript.StdOut.WriteLine "[44m[1;37m restoring image boot partition for " & name & " [0m[40m"
Set objExec = WshShell.Exec("DISM.exe /Apply-Image /ImageFile:" & name & "/index:1 /ApplyDir:c:\")
Do
line = objExec.StdOut.ReadLine()
Wscript.StdOut.WriteLine line
Loop While Not objExec.Stdout.atEndOfStream
它的执行方式有两个问题:
- 执行似乎停止了,我必须按 Enter 才能继续。
- 第二个问题是进度条不显示。它停留在“应用图像”。
通常,如果您执行DISM.exe /Apply-Image /ImageFile:" & name & "/index:1 /ApplyDir:c:\
,它将如下所示:
"应用图像 {1%--------------------------------------}
有趣的是,这个准备磁盘的部分显示了每一行执行:
Set WshShell = CreateObject("WScript.Shell")
Set objExec = WshShell.Exec("diskpart.exe /s clean.sh")
Do
line = objExec.StdOut.ReadLine()
Wscript.StdOut.WriteLine line
Loop While Not objExec.Stdout.atEndOfStream
我认为DISM
输出是不同的,因为它只有一行可以自我刷新,但我不确定如何围绕它编写代码。