【发布时间】:2019-08-15 04:04:39
【问题描述】:
我正在构建一个电子应用程序,
我可以使用 shell api (https://electronjs.org/docs/api/shell) 轻松运行 shell 命令
此命令运行完美,例如:
shell.openItem("D:\test.bat");
这个没有
shell.openItem("D:\test.bat argument1");
如何运行带参数的电子外壳命令?
【问题讨论】:
我正在构建一个电子应用程序,
我可以使用 shell api (https://electronjs.org/docs/api/shell) 轻松运行 shell 命令
此命令运行完美,例如:
shell.openItem("D:\test.bat");
这个没有
shell.openItem("D:\test.bat argument1");
如何运行带参数的电子外壳命令?
【问题讨论】:
shell.openItem 不是为此而设计的。
使用来自child_process 核心模块的NodeJS 的spawn 函数。
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
});
【讨论】:
child_process 是 NodeJS 的一部分,而不是电子。它是一个核心模块。见here。