我希望能够在PowerShell中同时执行多个外部脚本,然后等待它们全部完成后再继续执行。目前我正在使用“start-process -NoNewWindow ...”命令循环遍历所有子进程,但是会终止。
我已经找到了许多等待一个进程完成的方法(这显然很简单),但是它们似乎都不能解决我的问题。
在PowerShell中有一个类似于UNIX版本的等待所有子进程完成的方法,这正是我所需要的。
我希望能够在PowerShell中同时执行多个外部脚本,然后等待它们全部完成后再继续执行。目前我正在使用“start-process -NoNewWindow ...”命令循环遍历所有子进程,但是会终止。
我已经找到了许多等待一个进程完成的方法(这显然很简单),但是它们似乎都不能解决我的问题。
在PowerShell中有一个类似于UNIX版本的等待所有子进程完成的方法,这正是我所需要的。
不要忘记对于多个进程,可能最直接的方法是使用Wait-Process
,例如:
$procs = $(Start-Process Notepad.exe -PassThru; Start-Process Calc.exe -PassThru)
$procs | Wait-Process
$job = Start-Job -Name "Proc1" -ScriptBlock { Sleep 10000 }
Wait-Job -Job $job
Start-Process -FilePath calc.exe -Wait