У меня есть сценарий PowerShell, который мне нужно запустить из VBScript, и мне нужно, чтобы VBScript ожидал завершения PowerShell (но двум вообще не нужно общаться). Вот код, который будет выполнять PowerShell, но VBScript не ждет:Синхронный вызов сценария PowerShell из VBScript
Set objShell = (CreateObject("Wscript.shell"))
objShell.Run ("powershell -noexit -file e:\powershell\vb_to_powershell_test.ps1")
MsgBox("Powershell execution complete")
Этот сценарий будет всплывающее окно с «Powershell выполнения полного» мгновенно, в то время как PowerShell все еще работает.
Apparently есть флаг True
Я могу добавить, что силы VB ждут. Как это так, может быть:
objShell.Run ("powershell -noexit -file e:\powershell\vb_to_powershell_test.ps1", True)
Это не работает для меня, так как сценарий всегда жалуется на «не может использовать скобки при вызове к югу», который a whole thing.
Я подозреваю, что это проблема VisualBasic против VB.NET, но я застрял в VisualBasic здесь.
Что я делаю неправильно?
Этот другой пост [может быть, что вы ищете] (http://stackoverflow.com/questions/10279404/vbscript-how-to-make-program-wait-until-process-has-finished) – BenH