使用node.js执行exe文件

时间:2013-11-04 05:49:09

标签: javascript node.js

我不知道如何在exe中执行node.js文件。这是我正在使用的代码。它不起作用,不打印任何东西。有没有办法使用命令行执行exe文件?

var fun = function() {
  console.log("rrrr");
  exec('CALL hai.exe', function(err, data) {

    console.log(err)
    console.log(data.toString());
  });
}
fun();

3 个答案:

答案 0 :(得分:46)

您可以在node.js

中尝试子进程模块的execFile函数

参见: http://nodejs.org/api/child_process.html#child_process_child_process_execfile_file_args_options_callback

您的代码应该类似于:

var exec = require('child_process').execFile;

var fun =function(){
   console.log("fun() start");
   exec('HelloJithin.exe', function(err, data) {  
        console.log(err)
        console.log(data.toString());                       
    });  
}
fun();

答案 1 :(得分:3)

如果您要执行的public static List<Bitmap> gaborFilterBank(Bitmap b, int numberOfFilters) { GaborFilter gb = new GaborFilter(); Random random = new Random(); Bitmap bx; List<Bitmap> gaborBank = new List<Bitmap>(); float jump = (3.14f) / numberOfFilters; bx = ImageSupporter.ColorToGrayscale(b); for (int i = 0; i < numberOfFilters+1; i++) { gb.Theta = (float)i * jump; gaborBank.Add(gb.Apply(bx)); } return gaborBank; } 在其他目录中,并且您的exe对它所在的文件夹有某些依赖性,请尝试在options <中设置exe参数< / p>

cwd

Docs

答案 2 :(得分:0)

你有没有想过在这个过程中使用批处理文件?我的意思是使用 node.js 启动一个 .bat 文件,它会同时启动一个 .exe 文件?

只是使用顶部的答案我得到了这个:

  1. 在 exe 文件的目录中创建一个 .bat 文件

  2. 输入bat文件 START <full file name like E:\\Your folder\\Your file.exe>

  3. 输入你的 .js 文件: const shell = require('shelljs') shell.exec('E:\\Your folder\\Your bat file.bat')