2011-12-21 1 views
1

実行されたプログラムの出力が現在のコンソールに書き込まれるようにJScriptスクリプトからプログラムを実行できますか?実行されたプロセスから現在のcmdへの出力を指示します

現在、私はShell.Application.ShellExecuteを使用していて、実行されているアプリケーション用に別の新しいコンソールを開きます。

私の場合のJScriptは、ShellExecuteで実行されるコンパイラのラッパーです。だから、別のコンソールで印刷されているので、コンパイラのエラーはすべて失われてしまいます。

答えて

2

コンパイル出力をキャプチャすることが心配ならば、出力をファイルにリダイレクトできます(私はstdoutとstderrの両方を推奨します)。このような何か:

var shell = new ActiveXObject("WScript.Shell"); 
shell.Exec('YourCommand 1>yourOutput.txt 2>&1 ') 

あなたは本当に、あなたは、この使用することができ、(私はあなたを責めないで)現在のコンソールウィンドウにouptutを見たい場合:

var shell = new ActiveXObject("WScript.Shell"); 
WScript.StdOut.Write(shell.Exec('YourCommand 2>&1').StdOut.ReadAll()); 

注意を - あなたの場合コマンドが入力を要求する可能性がある場合は、パイプまたはリダイレクトを介してコマンド文字列に入力を提供する必要があります(または、入力をnulにリダイレクトすることもできます)。それ以外の場合、プログラムはハングします。

関連する問題