从 Node JS 在自己的控制台 window 中打开 Windows child_process exec
Open Windows child_process exec in its own console window, from Node JS
我在 Windows 和节点 JS/Express 下,使用已安装的 'child_process' 模块。
我需要从 Node JS 启动可执行文件 'c:\test\test.exe' - windows 控制台应用程序。
我可以启动非控制台应用程序,但控制台应用程序有问题;
例如我试过简单的语句:
const childProcess = require('child_process');
..............
childProcess.execFile(process.env.C_APP_EXEC_NAME);
与 'full_path\WINWORD.EXE' 一起工作正常,但与 c:\test\test.exe.
一起工作
我想补充一点,我需要打开控制台,因为 test.exe 通过它与用户交互。
感谢帮助
这里是将几个与 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
您也可以使用 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) => {})
我在 Windows 和节点 JS/Express 下,使用已安装的 'child_process' 模块。
我需要从 Node JS 启动可执行文件 'c:\test\test.exe' - windows 控制台应用程序。
我可以启动非控制台应用程序,但控制台应用程序有问题;
例如我试过简单的语句:
const childProcess = require('child_process');
..............
childProcess.execFile(process.env.C_APP_EXEC_NAME);
与 'full_path\WINWORD.EXE' 一起工作正常,但与 c:\test\test.exe.
一起工作
我想补充一点,我需要打开控制台,因为 test.exe 通过它与用户交互。
感谢帮助
这里是将几个与 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
您也可以使用 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) => {})