Status プロパティ (WshScriptExec)

Exec() メソッドを使って実行したスクリプトのステータス情報を返します。

Object.Status

引数

  • Object
    WshScriptExec オブジェクトです。

解説

プログラムが非同期的に実行される場合に Status プロパティを使用します。

Status Property は、内部で GetExitCodeProcess を利用して実行したプログラムの返り値を取得します。 GetExitCodeProcess のドキュメントに記載されている通り、返り値が 259 の場合は、プログラムの実行中(STILL_ACTIVE)を示します。 そのため、プログラムの返り値が 259(STILL_ACTIVE)の場合は、Status プロパティは、0 (ジョブはまだ実行中です) になります。 プログラムの返り値が 259(STILL_ACTIVE)の場合は、Exec() メソッドではなくRun() メソッドを利用してプログラムの実行結果を取得してください。

戻り値

Status プロパティは、次のような列挙型の値を返します。

  • WshRunning ( = 0)
    ジョブはまだ実行中です。
  • WshFinished ( = 1)
    ジョブの実行が完了しました。

使用例

次のコードは、calc.exe を実行し、実行後のステータス情報を表示する例です。

VBScript

Dim WshShell, oExec
Set WshShell = CreateObject("WScript.Shell")

Set oExec = WshShell.Exec("calc")

Do While oExec.Status = 0
     WScript.Sleep 100
Loop

WScript.Echo oExec.Status

JScript

var WshShell = new ActiveXObject("WScript.Shell");
var oExec = WshShell.Exec("calc");

while (oExec.Status == 0)
{
     WScript.Sleep(100);
}

WScript.Echo(oExec.Status);

参照

Exec メソッド | WshScriptExec オブジェクト