次の方法で共有


StdOut プロパティ (WshScriptExec)

Exec オブジェクトの書き込み専用の stdout 出力ストリームを公開します。

Object.StdOut

引数

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

解説

StdOut プロパティには、スクリプトから標準出力に送信された全情報のコピー (読み取り専用) が格納されます。

使用例

次のコードはバッチ ファイルを起動し、ユーザーの入力をうながすプロンプトを表示します。StdIn ストリームからの入力が終了するとバッチ ファイルは完了します。

VBScript

Dim WshShell, oExec, input
Set WshShell = CreateObject("WScript.Shell")
Set oExec    = WshShell.Exec("test.bat")
input = ""

Do While True

     If Not oExec.StdOut.AtEndOfStream Then
          input = input & oExec.StdOut.Read(1)
          If InStr(input, "Press any key") <> 0 Then Exit Do
     End If
     WScript.Sleep 100
Loop

oExec.StdIn.Write VbCrLf

Do While oExec.Status <> 1
     WScript.Sleep 100
Loop

JScript

var WshShell = new ActiveXObject("WScript.Shell");
var oExec    = WshShell.Exec("test.bat");
var input = "";

while (true)
{
     if (!oExec.StdOut.AtEndOfStream)
     {
          input += oExec.StdOut.Read(1);
          if (input.indexOf("Press any key") != -1)
               break;
     }
     WScript.Sleep(100);
}

oExec.StdIn.Write("\n");

while (oExec.Status != 1)
     WScript.Sleep(100);

参照

WshScriptExec オブジェクト | StdIn プロパティ | StdErr プロパティ