我创建了一个打包为 .exe 的 powershell gui 应用程序。该脚本调用其他脚本,并在调用的脚本启动和完成时通过只读富文本框通知用户。
问题是它只会显示指示第一个脚本开始的消息,然后它不会显示任何内容,直到所有脚本完成执行。
这是我的代码:
foreach ($item in $checkedlistbox1.CheckedItems) {
$richtextbox1.AppendText("Installing " + [IO.Path]::GetFileNameWithoutExtension($item) + "...")
$richtextbox1.Update()
$path = $scriptdir+ "\" + $item + ".exe"
[System.Diagnostics.Process]::Start($path)
$Process = (Get-Process | `
Where-Object { $_.ProcessName -ieq [IO.Path]::GetFileNameWithoutExtension($item) })
$Process.WaitForExit()
$richtextbox1.AppendText("Done."+[char]13+[char]10)
$richtextbox1.Update()
}
我想知道这里可能出了什么问题:(