Node.js child_process.execFile () ne fonctionne pas avec le propre .exe

voix
0

Je suis juste en train de plonger dans Node.js et je teste les fonctionnalités de base que je jugeriez utile pour accomplir mon projet. L'un d'eux serait un petit fichier exécutaient .exe I codé en C ++ qui traite des données à partir de fichiers texte. Je me suis dit que child_process.execFile pourrait être la meilleure méthode pour y parvenir. J'ai donc écrit un petit script pour démarrer un serveur et appeler un exécutable. Pour le premier test, je mis le chemin à un « tiers » -. Exe et cela a fonctionné très bien (programme est lancé comme prévu). Cependant, quand je cible mon propre rien .exe se passe du tout, bien que le chemin est correct (que je countercheck avec fs.access). exécuter manuellement le fichier par simple double-cliquant sur le fichier .exe fonctionne aussi bien et totalement les fichiers txt sont donc traitées. Alors maintenant, je me demande si se STH. fondamentalement mauvais, par exemple, fait la nécessité .exe pour remplir une certaine condition d'être exécutable avec execfile?

Voici mon code:

var http = require('http');
const fs = require('fs');

var server = http.createServer(function(req, res){
    console.log('Request was made: ' + req.url);
    res.writeHead(200, {'Content-Type': 'text/plain'});
});

server.listen(3000, '127.0.0.1');
console.log('Listening to port 3000');

var executablePath = C:/path/to/file.exe;

fs.access(executablePath, fs.constants.F_OK, (err) => {
      console.log(`${executablePath} ${err ? 'does not 
      exist':'exists'}`);
});

const execFile = require('child_process').execFile;
const child = execFile(executablePath, (error, stdout, stderr) => {
    if (error) {
        console.error('stderr', stderr);
        throw error;
    }
    console.log('stdout', stdout);
});

La sortie de la console est ... C: /path/to/file.exe existe. execfile ne jette pas d'erreur. Thx pour votre aide et excuses pour ma langue noob!

Créé 18/12/2018 à 11:07
source utilisateur
Dans d'autres langues...                            


1 réponses

Node.js child_process.execFile () ne fonctionne pas avec le propre .exe

voix
0

Je suis juste en train de plonger dans Node.js et je teste les fonctionnalités de base que je jugeriez utile pour accomplir mon projet. L'un d'eux serait un petit fichier exécutaient .exe I codé en C ++ qui traite des données à partir de fichiers texte. Je me suis dit que child_process.execFile pourrait être la meilleure méthode pour y parvenir. J'ai donc écrit un petit script pour démarrer un serveur et appeler un exécutable. Pour le premier test, je mis le chemin à un « tiers » -. Exe et cela a fonctionné très bien (programme est lancé comme prévu). Cependant, quand je cible mon propre rien .exe se passe du tout, bien que le chemin est correct (que je countercheck avec fs.access). exécuter manuellement le fichier par simple double-cliquant sur le fichier .exe fonctionne aussi bien et totalement les fichiers txt sont donc traitées. Alors maintenant, je me demande si se STH. fondamentalement mauvais, par exemple, fait la nécessité .exe pour remplir une certaine condition d'être exécutable avec execfile?

Voici mon code:

var http = require('http');
const fs = require('fs');

var server = http.createServer(function(req, res){
    console.log('Request was made: ' + req.url);
    res.writeHead(200, {'Content-Type': 'text/plain'});
});

server.listen(3000, '127.0.0.1');
console.log('Listening to port 3000');

var executablePath = "C:/path/to/file.exe";

fs.access(executablePath, fs.constants.F_OK, (err) => {
      console.log(`${executablePath} ${err ? 'does not 
      exist':'exists'}`);
});

const execFile = require('child_process').execFile;
const child = execFile(executablePath, (error, stdout, stderr) => {
    if (error) {
        console.error('stderr', stderr);
        throw error;
    }
    console.log('stdout', stdout);
});

La sortie de la console est "... C: /path/to/file.exe existe". execfile ne jette pas d'erreur. Thx pour votre aide et excuses pour ma langue noob!

Créé 18/12/2018 à 11:07
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more