こんばんは、柊です。


アプリケーションをインストールさせるようなバッチファイルを作成していると、アプリケーションのインストールが完了したら次の処理を行わせたいことがよくあります。

  ※「なぜバッチなのか」は聞いてはいけません

バッチの場合は

  start /wait ******.exe

と書けばOKです。

ちなみに、ウィンドウを表示させたくない場合は

  start /b ******.exe

です。処理を待たせ、ウィンドウも表示させたくない場合は

  start /b /wait ******.exe

になります。


じゃあ、VBScriptでやる場合はというと、以下のようにすれば良いことをさっき知りました。


set objWshShell = WScript.CreateObject("WScript.Shell")

objWshShell.Run("******.exe",1,1)


文法: objWshShell.Run("実行ファイル",ウィンドウ表示有無,処理待ちの有無)


ちなみに、

 ウィンドウ表示有無は「0」(表示させない)か「1」(表示させる)

 処理待ちの有無は「0」「False」(処理待ちをさせない)か「1」「True」(処理待ちをさせる)

の値を入れられます。


ウィンドウ表示有無指定は、無視されちゃう場合もあるので注意が必要です。



今回のソースは

http://www.tech-archive.net/Archive/Scripting/microsoft.public.scripting.wsh/2006-12/msg00024.html

です。


簡単なのですが、VBScriptで処理の完了を待たせるのは、なかなか検索で出てこなかったです。

以上、ご参考まで。

AD