电子:使用参数运行shell命令

时间:2019-03-24 21:50:17

标签: shell electron

我正在构建一个电子应用程序,

我可以使用shell api(https://electronjs.org/docs/api/shell)轻松地运行shell命令

例如,此命令运行完美:

shell.openItem("D:\test.bat");

这不是

shell.openItem("D:\test.bat argument1");

如何通过参数运行电子外壳命令?

1 个答案:

答案 0 :(得分:2)

shell.openItem不是为此设计的。
使用spawn核心模块中的NodeJS的child_process函数。

let spawn = require("child_process").spawn;

let bat = spawn("cmd.exe", [
    "/c",          // Argument for cmd.exe to carry out the specified script
    "D:\test.bat", // Path to your file
    "argument1"    // First argument
    "argumentN"    // n-th argument
]);

bat.stdout.on("data", (data) => {
    // Handle data...
});

bat.stderr.on("data", (err) => {
    // Handle error...
});

bat.on("exit", (code) => {
    // Handle exit
});