将变量从JavaScript传递到Windows批处理文件

问题描述:

是否可以在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://*.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

您可以使用命令行参数(如你正在使用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外壳)