将变量从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 ..
另一种方法是创建其保存作为一个批处理文件,然后执行的字符串,但我想知道是否可以直接完成。
答
您可以使用命令行参数(如你正在使用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外壳)
https://stackoverflow.com/questions/32807609/passing-parameters-from-javascript-function-to-batch-file我认为这回答了这个问题。 – 2407319dms
yes,'> doit.bat 123'会在doit.bat里设置'%1'为'123' – dandavis
你在批处理文件中使用了什么'mv'命令?你的意思是['move'](http://ss64.com/nt/move.html)? – aschipfl