作成 2010.01.08
更新 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 メソッドは整数を返します。また、スクリプト内の次の処理に進まずにプログラムの実行が終了するまでスクリプトを待機させることができます。これにより、スクリプトとプログラムを同期させて実行できます。
参考