私はVBScriptから実行する必要のあるPowerShellスクリプトを持っていますが、PowerShellが終了するのを待つためにVBScriptが必要です(しかし、2つは通信する必要はありません)。ここでPowerShellを実行するコードですが、VBScriptが待たれていません。VBScriptからSynchronously PowerShellスクリプトを呼び出します。
Set objShell = (CreateObject("Wscript.shell"))
objShell.Run ("powershell -noexit -file e:\powershell\vb_to_powershell_test.ps1")
MsgBox("Powershell execution complete")
PowerShellがまだ実行されている間、このスクリプトは、即座に「完全なPowerShellの実行」でポップアップ表示されます。
ApparentlyTrue
フラグがあります。これを追加するとVBが強制的に待機します。以下のようなので、多分:a whole thingで、「サブを呼び出すときに括弧を使用することはできません」スクリプトはいつも文句として、私のために働いていない
objShell.Run ("powershell -noexit -file e:\powershell\vb_to_powershell_test.ps1", True)
。
私はこれがVisualBasic vs. VB.NETの問題だと思っていますが、ここではVisualBasicに固執しています。
私は間違っていますか?
この他の投稿[あなたが探しているものかもしれません](http://stackoverflow.com/questions/10279404/vbscript-how-to-make-program-wait-until-process-has-finished) – BenH