48

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();
4

4 に答える 4

66

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();
于 2013-11-04T05:55:28.307 に答える
11

実行しexeたいが他のディレクトリにあり、exeそれが存在するフォルダーに依存関係がある場合はcwd、オプションでパラメーターを設定してみてください

var exec = require('child_process').execFile;
/**
 * Function to execute exe
 * @param {string} fileName The name of the executable file to run.
 * @param {string[]} params List of string arguments.
 * @param {string} path Current working directory of the child process.
 */
function execute(fileName, params, path) {
    let promise = new Promise((resolve, reject) => {
        exec(fileName, params, { cwd: path }, (err, data) => {
            if (err) reject(err);
            else resolve(data);
        });

    });
    return promise;
}

ドキュメント

于 2018-12-16T13:56:06.770 に答える
-1

このプロセスでバッチ ファイルを使用することについて考えたことはありますか? 同時に.exeファイルを開始するnode.jsを使用して.batファイルを開始することを意味しますか?

上の回答を使用するだけで、次のようになりました。

  1. exeファイルのディレクトリに.batファイルを作成する

  2. バットファイルを入力 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')

于 2020-12-31T04:44:03.900 に答える