Tôi cố gắng để chạy lệnh trên Windows thông qua tiến trình con NodeJS:Làm thế nào để chạy các lệnh thông qua quá trình con 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);
Khi nó gọi ti.stdin.write
, nó viết nó vào mô tả stdin
, nhưng làm thế nào để kích hoạt cmd
phản ứng vào thời điểm này? Làm cách nào để gửi tín hiệu khóa "enter" mà bạn thực hiện khi bạn đang gõ dấu nhắc lệnh? Hiện tại tôi không nhận được phản hồi từ cmd
.
+1 @Raivo Laanemets - đây là câu trả lời thực tế cho câu hỏi của op. Trong khi bạn cần đến một lúc nào đó, hãy gọi 'stdin.end()' nếu bạn muốn xử lý nhiều đọc/phản hồi, bạn chỉ nên kết thúc bằng một dòng mới ('\ n' hoạt động trên windows xp/7) –
Câu trả lời của Ravio là nhiều hơn liên quan, thích hợp – ShrekOverflow