暂停PowerShell脚本,直到操作完成,即打开&;结束记事本

暂停PowerShell脚本,直到操作完成,即打开&;结束记事本,powershell,scripting,Powershell,Scripting,是否有方法在某些操作完成之前挂起PowerShell脚本。例如,如果我使用的是Linux shell,并且我键入了gedit,那么gedit将被加载,但是shell将被挂起,直到我关闭gedit为止(除非在命令末尾添加了“&”) 是否有任何方法可以模仿PowerShell的这种行为?所以,我可以得到一个脚本打开记事本,但暂停自己,直到记事本再次关闭 谢谢…您需要使用System.Diagnostics.Process类,并在设置相应的ProcessInfo属性以启动记事本后调用.WaitForE

是否有方法在某些操作完成之前挂起PowerShell脚本。例如,如果我使用的是Linux shell,并且我键入了
gedit
,那么gedit将被加载,但是shell将被挂起,直到我关闭gedit为止(除非在命令末尾添加了“&”)

是否有任何方法可以模仿PowerShell的这种行为?所以,我可以得到一个脚本打开记事本,但暂停自己,直到记事本再次关闭


谢谢…

您需要使用
System.Diagnostics.Process
类,并在设置相应的
ProcessInfo
属性以启动记事本后调用
.WaitForExit
方法。

只需将管道设置为Out Null,PowerShell将等待windows应用程序关闭:

PS> notepad | out-null
或者正如前面的海报所指出的:

PS> (Start-Process notepad -PassThru).WaitForExit()

这是唯一的办法,我们也可以找到它,奇怪的是,虽然它不适用于msi的。我认为,由于msi服务和涉及的多个msi进程,无论发生什么情况,它都会返回。有趣的是,看看其他人是否有不同的方法。谢谢吉列尔穆奥,再加上基思回答的第二部分,同样有效,只是有点冗长。谢谢基思,我发现out null效果最好。这正是我想要的。