Exposes the stdin input stream of the Exec object.
Object.StdIn |
Arguments
- Object
-
WshScriptExec object.
Remarks
Use the StdIn property to pass data to a process started using Exec.
Example
The following code starts a batch file and waits for the user input prompt. After entering the needed data through the StdIn stream, the batch file will be able to complete.
Visual Basic Script | Copy Code |
---|---|
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 | Copy Code |
---|---|
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); |