我想在Windows上生成子进程以打开终端(cmd.exe)。我得到了一切,除了我无法将数据从子进程流式传输到父进程。我想在父进程中访问终端的输出。这是我的代码:
SELECT "(All)"
FROM [SynergyReport 2]
UNION
SELECT [SynergyReport 2].ObjectID
FROM [SynergyReport 2]
ORDER BY [SynergyReport 2].[ObjectID];
我真的被困了所以任何帮助或者tipp都会很棒!!提前谢谢!
答案 0 :(得分:1)
那是因为你在新的终端会话中开始新的shell。您只能从运行相同终端会话的命令拦截输出。
例如,如果您将start
更改为dir
,您就会输出:
var child = spawn('cmd', [ '/c', 'dir'], {
cwd: '.'
});
child.stdout.on('data', function (data) {
console.log(data.toString());
});
驱动器C中的卷没有标签。 卷序列号为9401-94AE
Directory of C:\Temp
12/02/2015 01:29 PM <DIR> .
12/02/2015 01:29 PM <DIR> ..
12/02/2015 01:30 PM 403 test.js
4 File(s) 10,423,442 bytes
4 Dir(s) 12,869,840,896 bytes free
close