作成 2010.01.08
更新 2010.01.08
VBScript で外部コマンドの実行
サンプル
このサンプルではスクリプトを呼び出したフォルダに test フォルダが作成されます。
Option Explicit
Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Exec("cmd /c mkdir test")
このサンプルでは実行結果をストリームとして取得します。
Dim WshShell, outExec, outStream, strOut
Set WshShell = CreateObject("WScript.Shell")
Set outExec = WshShell.Exec("net share")
Set outStream = outExec.StdOut
strOut = ""
Do While Not outStream.AtEndOfStream
  strOut = strOut & vbNewLine & outStream.ReadLine()
Loop
WScript.Echo strOut
このサンプルでは実行したプログラムの終了を待ちます。
Set WshShell = WScript.CreateObject("WScript.Shell")
Return = WshShell.Run("notepad " & WScript.ScriptFullName, 1, true)
Exec と Run の違い

Exec メソッドは返り値として WshScriptExec オブジェクトを取得できます。これを使用すると、実行したスクリプトのステータス情報やエラー情報だけでなく、StdIn、StdOut、および StdErr チャンネルにもアクセスできます。
Run メソッドは整数を返します。また、スクリプト内の次の処理に進まずにプログラムの実行が終了するまでスクリプトを待機させることができます。これにより、スクリプトとプログラムを同期させて実行できます。

参考

Exec メソッド | Run メソッド

タグ: VBScript WSH

©2004-2013 UPKEN IPv4