2017-06-21 105 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

yes,'> doit.bat 123'會在doit.bat裏設置'%1'爲'123' – dandavis

+0

你在批處理文件中使用了什麼'mv'命令?你的意思是['move'](http://ss64.com/nt/move.html)? – aschipfl

回答

1

您可以使用命令行參數(如你正在使用EXEC我想這是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外殼)

相關問題