从Node JS在自己的控制台窗口中打开Windows child_process exec

时间:2017-11-16 13:24:55

标签: node.js windows exec child-process

我在Windows和Node JS / Express下,使用已安装的' child_process'模块。 我需要启动可执行文件&c; \ test \ test.exe' - 来自Node JS的Windows控制台应用程序。
我可以启动非控制台应用程序,但我遇到了控制台应用程序的问题;
例如我试过这个简单的陈述:

const childProcess = require('child_process');
..............    
childProcess.execFile(process.env.C_APP_EXEC_NAME);

适用于' full_path \ WINWORD.EXE'但不是c:\ test \ test.exe 我想补充一点,我需要打开控制台,因为test.exe通过它与用户交互。 谢谢你的帮助

2 个答案:

答案 0 :(得分:1)

您也可以使用spawn

const { spawn } require('child_process');

const child = spawn('cmd.exe', ['/c', PATH_TO_EXE], { detached: true })

// Event handlers for the child process
child.on('data', (data) => {})
child.on('error', (error) => {})
child.on('close', (code) => {})

答案 1 :(得分:0)

这里汇总了几个与Node JS和Windows相关的部分: 电话应该是

childProcess.exec("start cmd @cmd /k " + process.env.C_APP_EXEC_NAME);

process.env.C_APP_EXEC_NAME是test.exe文件的完整路径或其到Node JS应用程序根目录的相对路径 HTH