【发布时间】:2020-05-07 09:20:09
【问题描述】:
我正在尝试通过在 nodejs 中传递参数来运行 .bat 文件。但是,我得到一个空的命令提示符。如何获取粘贴在路径上的命令。
代码-
server.js
var bat = require.resolve('E:/API_Gateway_through_Swagger/New_Project/aws-bat-file-3.bat');
var num = "123"
var state_desc = "abc";
var ls = spawn(bat, [num, state_desc ]);
ls.stdout.on('data', function (data) {
console.log('stdout: ' + data);
});
ls.stderr.on('data', function (data) {
console.log('stderr: ' + data);
});
ls.on('exit', function (code) {
console.log('child process exited with code ' + code);
});
蝙蝠文件-
aws-bat-file-3.bat
echo off
echo "Batch Started"
set arg1=%1
set arg2=%2
START "Task Options" cmd.exe /b " cd C:\Users\myfolder & aws apigateway create deployment --rest-api-id %arg1% --stage-name dev --stage-description %arg2%"
输出的img文件是-
【问题讨论】:
-
要将命令传递给
cmd.exe,请在/c之后添加命令。查看cmd /?寻求帮助。目前,正在打开 cmd.exe 并且不知道要运行什么命令,因此正在等待输入。start有一个用于启动目录的/d参数,这可能比在传递给 cmd.exe 的命令中使用cd更好。
标签: javascript node.js batch-file child-process