electron-vue跨平台桌面应用开发实战教程(十)——执行cmd命令

    本文链接:

    执行cmd命令不需要安装额外的依赖,使用node的child_process模块即可完成这个功能。

    1.引用child_process模块

    2.执行CMD命令

    这里我们执行一下windows常用命令ipconfig,使用child_process执行cmd命令是可以指定执行的目录的(cmdPath)

    1. const cmdStr = 'ipconfig'
    2. // 执行cmd命令的目录,如果使用cd xx && 上面的命令,这种将会无法正常退出子进程
    3. const cmdPath = pathUtil.getAppResourcePath('')
    4. const workerProcess = exec(cmdStr, { cwd: cmdPath })
    5. // 不受child_process默认的缓冲区大小的使用方法,没参数也要写上{}:workerProcess = exec(cmdStr, {})
    6. // 打印正常的后台可执行程序输出
    7. workerProcess.stdout.on('data', function (data) {
    8. console.log('stdout: ' + data)
    9. })
    10. // 打印错误的后台可执行程序输出
    11. })
    12. // 退出之后的输出
    13. workerProcess.on('close', function (code) {
    14. console.log('out code:' + code)
    15. })

    3.安装iconv-lite

    4.使用iconv-lite解决乱码

    引入 iconv-lite

    1. const iconv = require('iconv-lite')

    将原来的

      这个时候我们再执行就正常了