【问题标题】:How to execute exe of different machine from my machine in node.js如何在node.js中从我的机器执行不同机器的exe
【发布时间】:2017-11-14 20:13:33
【问题描述】:

我们正在使用电子在 node js 中构建一个应用程序。所有其他机器上都安装了另一个软件。现在在我的节点 js 应用程序中,我想在各自的机器上启动这些软件。这可能吗?

【问题讨论】:

    标签: node.js electron


    【解决方案1】:

    您可以通过命令和通过 spawn 的子进程来执行此操作。 见▶NodeJs API Docs

    在 Windows 上

    const { spawn } = require('child_process');
    const bat = spawn('cmd.exe', ['/c', 'my.bat']);
    
    bat.stdout.on('data', (data) => {
      console.log(data.toString());
    });
    
    bat.stderr.on('data', (data) => {
      console.log(data.toString());
    });
    
    bat.on('exit', (code) => {
      console.log(`Child exited with code ${code}`);
    });
    

    Linux

    const { spawn } = require('child_process');
    const ls = spawn('ls', ['-lh', '/usr']);
    
    ls.stdout.on('data', (data) => {
      console.log(`stdout: ${data}`);
    });
    
    ls.stderr.on('data', (data) => {
      console.log(`stderr: ${data}`);
    });
    
    ls.on('close', (code) => {
      console.log(`child process exited with code ${code}`);
    });
    

    【讨论】:

    • 谢谢,如果我从本地机器执行上述代码,它可以在远程机器上执行exe吗?
    • 我做了研究,发现我们可以使用像“node-cmd”或“node-powershell”这样的npm并执行命令提示符/power shell命令在远程计算机上执行exe
    • 如果您编写安装在远程机器上的客户端/服务,您可以在远程机器上执行它。您还需要一个主程序,它可以向所有或单个计算机发出命令。
    • node-cmd 也是我写给你的函数的一个很好的包装器。如果您想快速完成工作,我建议您使用此类软件包。但是请记住,如果您的目标是更大的程序,您将依赖于您添加的任何软件包。祝你好运,编码愉快?
    【解决方案2】:

    下面的代码对我很有帮助。

    var cmd = require('node-cmd');
    cmd.get('WMIC /node:"ABC-XXXXXXX" process call create "C:\\Setup\\app7.exe"',function(err, data, stderr){
        console.log('err:', err)
        console.log('stderr:', stderr)
    })
    

    远程机器名称:ABC-XXXXXXX

    远程机器上exe的路径:C:\Setup\app7.exe

    【讨论】:

      猜你喜欢
      • 2014-11-05
      • 1970-01-01
      • 1970-01-01
      • 2015-11-27
      • 2019-11-09
      • 1970-01-01
      • 2015-06-11
      • 2015-01-22
      • 2016-09-07
      相关资源
      最近更新 更多