首页 > 解决方案 > Electron:运行带参数的 shell 命令

问题描述

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

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

此命令运行完美,例如:

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

这个不

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

如何使用参数运行电子外壳命令?

标签: shellelectron

解决方案


shell.openItem不是为此而设计的。从核心模块
使用spawnNodeJS 的功能。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
});

推荐阅读