Windows环境下Electron调用CMD命令行命令

用法示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

const exec = require('child_process').exec

// 任何你期望执行的cmd命令,ls都可以
let cmdStr = './你的可执行程序名称 -p 需要输入密码的话'
// 执行cmd命令的目录,如果使用cd xx && 上面的命令,这种将会无法正常退出子进程
let cmdPath = '执行cmd命令的路径'
// 子进程名称
let workerProcess

runExec();

function runExec() {
// 执行命令行,如果命令不需要路径,或就是项目根目录,则不需要cwd参数:
workerProcess = exec(cmdStr, {cwd: cmdPath})
// 不受child_process默认的缓冲区大小的使用方法,没参数也要写上{}:workerProcess = exec(cmdStr, {})

// 打印正常的后台可执行程序输出
workerProcess.stdout.on('data', function (data) {
console.log('stdout: ' + data);
});

// 打印错误的后台可执行程序输出
workerProcess.stderr.on('data', function (data) {
console.log('stderr: ' + data);
});

// 退出之后的输出
workerProcess.on('close', function (code) {
console.log('out code:' + code);
})

官方文档
参考