运行外部控制台并获得spawn的输入?

问题描述

我一直在尝试使用spawn启动命令,允许用户与该控制台交互并在node中检索输出

我可以获取输出或启动外部控制台,但是我似乎无法同时做到。例如,它需要使用任一标准命令netstat。或批处理文件

我已经尝试过以下方法

const spawn = require('child_process').spawn;

var process = spawn(
    "cmd.exe",['/c','test.bat'],{
    cwd: '.',detached: true,shell: true,});
process.stdout.on('data',function (data) {
    console.log("data:",data.toString());
});

process.stderr.on('data',function (data) {
    console.log("error:",data.toString());
});

process.on('exit',function (code) {
    console.log("finished");
});

哪个会启动外部控制台,并且exit会触发,但没有输出

我可以通过删除shell: true来获得输出,但是没有外部控制台启动,我无法结束该过程。

我用来模拟需要用户输入的批处理文件内容为:

@echo off
echo 123
pause

我已经将其与不需要用户交互的命令配合使用,但是我遇到了需要用户输入的麻烦。

windowsHide: false也没有为我做任何事情。

我错过了小步还是迈出了一大步?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)