如何暂停PowerShell直到一个外部进程执行结束后返回?

在PowerShell 里启动Win32的外部进程后,控制会立即返回PowerShell并执行下一条指令。如何让PowerShell停止执行下一条指令,等待前面的进程运行结束呢?

可以使用 [diagnostics.process] 来启动Windows批命令或者其他应用程序,并通过WaitForExit等待进程结束
$batfile = [diagnostics.process]::Start(“D:\Demo\My_Script.bat”)
$batfile.WaitForExit()

然后PowerShell才继续执行余下的指令。