Sto cercando di eseguire comandi su Windows tramite processi figlio NodeJS:Come eseguire i comandi tramite processo figlio 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);
Quando si chiama ti.stdin.write
, scrive al descrittore stdin
, ma come faccio a innescare cmd
reagire a questo punto? Come posso inviare il segnale chiave "invio" che fai quando stai effettivamente digitando il prompt dei comandi? Attualmente non ottengo risposta da cmd
.
+1 @Raivo Laanemets - questa è la risposta effettiva alla domanda dell'op. Mentre è necessario ad un certo punto chiamare 'stdin.end()' se si desidera elaborare più letture/risposte, si dovrebbe terminare con una nuova riga ('\ n' funziona su windows xp/7) –
La risposta di Ravio è più pertinente – ShrekOverflow