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

时间:2017-06-21 20:55:51

标签: javascript windows batch-file extendscript

是否可以在JavaScript中创建变量并将其传递给批处理文件? 就像一个简单的测试回显变量并将文件移动到目录中一样。

JavaScript.js

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

myBat.bat

echo s 
move myFile ..

另一种方法是创建一个字符串,该字符串作为批处理文件保存然后执行,但我想知道是否可以直接完成。

1 个答案:

答案 0 :(得分: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}`);
        }
});

或extendcript:

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 shell)