私はNodeJSの子プロセスを経由してWindows上でコマンドを実行しようとしています:それはti.stdin.write
を呼び出すとNodeJSの子プロセス経由でコマンドを実行する方法は?
var terminal = require('child_process').spawn('cmd');
terminal.stdout.on('data', function (data) {
console.log('stdout: ' + data);
});
terminal.stderr.on('data', function (data) {
console.log('stderr: ' + data);
});
terminal.on('exit', function (code) {
console.log('child process exited with code ' + code);
});
setTimeout(function() {
terminal.stdin.write('echo %PATH%');
}, 2000);
、それはstdin
記述子にそれを書き込みますが、どのように私は、この時点で反応さcmd
をトリガしますか?実際にコマンドプロンプトを入力しているときに行う「Enter」キー信号を送信するにはどうすればよいですか?現在、私はcmd
からの応答を得ていません。
+1 @Raivo Laanemets - これはopの質問に対する実際の回答です。複数の読み込み/応答を処理するには、ある時点で 'stdin.end()'を呼び出す必要がありますが、改行で終了するだけです( '\ n'はWindows XP/7で動作します) –
Ravioの答えはもっとです関連する – ShrekOverflow