在我的應用程序的完整標準輸出:不能得到使用我用下面的代碼的node.js
var path = app.getAppPath();
var spawn = require('child_process').spawn;
const child = exec(`"${path}\\PC-BASIC\\a.bat"`, []);
var stdout = '';
var stderr = '';
child.stdout.on('data', function(buf) {
//console.log('[STR] stdout "%s"', String(buf));
stdout += buf;
});
child.stderr.on('data', function(buf) {
//console.log('[STR] stderr "%s"', String(buf));
stderr += buf;
});
child.on('close', function(code) {
console.log('[END] code', code);
console.log('[END] stdout "%s"', stdout);
console.log('[END] stderr "%s"', stderr);
});
當我在命令行(DOS)a.bat運行
。我得到確切的結果。但是當我從我的電子應用程序運行它寫入以下控制檯上:
[END] code 0
[END] stdout "
D:\Documents\Nauman Umer\New folder\electron-quick-start>"C:\Program Files (x86)\PC-BASIC\pcbasic.com" --load="ART.BAS" --convert=A
"
[END] stderr ""
,但預期是:
[END] code 0
[END] stdout "
D:\Documents\Nauman Umer\New folder\electron-quick-start>"C:\Program Files (x86)\PC-BASIC\pcbasic.com" --load="ART.BAS" --convert=A
[FILE TEXT AS IN OUTPUT OF BAT]
"
[END] stderr ""
我也試圖直接在命令行而不是從應用程序,但結果執行pcbasic
是一樣的。
你確定程序打印到標準輸出。並非Windows上的所有程序都打印到標準輸出。有些人直接調用控制檯API來打印輸出。 – slebetman
它的一個python程序並使用'sys.stdout.write()'寫入控制檯。 –