2017-06-21 3 views
0

JavaScriptで変数を作成してバッチファイルに渡すことはできますか? 単純なテストでは変数をエコーし​​、ファイルをディレクトリの上に移動します。JavaScriptからWindowsバッチファイルに変数を渡す

javascript.jsを

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

myBat.bat

echo s 
move myFile .. 

代替は、バッチファイルとして出て保存され、実行された文字列を作成することですが、私はでしたそれが直接できるかどうか疑問に思う。

+0

https://stackoverflow.com/questions/32807609/passing-parameters-from-javascript-function-to-batch-file私はこれが質問に答えると思います。 – 2407319dms

+0

はい、 '> doit.bat 123'はdoit.batの中で'%1'を '123'に設定します – dandavis

+0

バッチファイルで使用している' mv'コマンドは何ですか?代わりに['move'](http://ss64.com/nt/move.html)を意味しますか? – aschipfl

答えて

1

(あなたが幹部を使用しているように私はこれは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}`); 
     } 
}); 

またはExtendScriptのために:

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

とbatファイル:

echo %2 
move "%~1" .. 

(mvはunixコマンドですが、Windowsシェルではありません)

関連する問題