2017-06-21 3 views
0

Est-il possible de créer une variable dans JavaScript et de la passer à un fichier de traitement par lots? Tout comme un simple test fait écho à une variable et déplace un fichier dans un répertoire.Passer la variable de JavaScript au fichier de commandes Windows

JavaScript.js

var s = "Gwen Stefani"; 
var myFile = "C:\\temp\\myfile.txt" 
myBat.execute(); 

myBat.bat

echo s 
move myFile .. 

Une alternative est de créer une chaîne qui est enregistré comme un fichier batch puis exécuté, mais j'étais Je me demandais si cela pouvait se faire directement.

+0

https://stackoverflow.com/questions/32807609/passing-parameters-from-javascript-function-to-batch-file Je pense que cela répond à la question. – 2407319dms

+0

oui, '> doit.bat 123' va mettre'% 1' à '123' dans doit.bat – dandavis

+0

Quelle est la commande' mv' que vous utilisez dans le fichier batch? voulez-vous dire ['move'] (http://ss64.com/nt/move.html) à la place? – aschipfl

Répondre

1

Vous pouvez utiliser des arguments de ligne de commande (comme vous utilisez exec Je suppose que cela est Node.js):

var s = "Gwen Stefani"; 
var myFile = "C:\\temp\\myfile.txt" 
const exec = require('child_process').exec; 
const child = exec('cmd /c myBat.bat '+ myFile+' '+s, 
    (error, stdout, stderr) => { 
     console.log(`stdout: ${stdout}`); 
     console.log(`stderr: ${stderr}`); 
     if (error !== null) { 
      console.log(`exec error: ${error}`); 
     } 
}); 

ou pour ExtendScript:

var s = "Gwen Stefani"; 
var myFile = "C:\\temp\\myfile.txt"; 
system.callSystem('cmd /c myBat.bat '+ myFile+' '+s'); 

et le fichier de chauve-souris:

echo %2 
move "%~1" .. 

(mv est la commande unix mais pas à partir du shell Windows)