有没有办法在node-webkit中从JavaScript运行shell命令?
有很多类似的问题,但它们并没有帮助我。
我正在尝试构建一个简单的桌面应用程序来列出安装的工具。 我创建了一个名为“tools-v”的节点模块,它被全局安装,并且当我在命令行中运行它时可以正常工作。 这个模块运行几个命令:
我正在尝试构建一个简单的桌面应用程序来列出安装的工具。 我创建了一个名为“tools-v”的节点模块,它被全局安装,并且当我在命令行中运行它时可以正常工作。 这个模块运行几个命令:
npm -v
,node -v
,git -v
等等。
我使用的是Windows 7。//var sys = require('sys');
var exec = require('child_process').exec;
//var toolsv = (process.platform === "win32" ? "tools-v.cmd" : "tools-v");
$(document).ready(function() {
//myCmd = "C:\\Users\\win7\\AppData\\Roaming\\npm\\tools-v.cmd";
//myCmd = toolsv;
myCmd = 'tools-v';
//gui.Shell.openItem('firefox',function(error, stdout, stderr) { });
//opening Firefox works.
exec(myCmd, function (error, stdout, stderr) {
//detached: true;
console.log('stdout: ' + stdout);
$('#output').append('stdout: ' + stdout)
if (error !== null) {
console.log('exec error: ' + error);
}
});
});
我总是遇到错误:
""exec error: Error: spawn ENOENT""
我尝试了使用spawn来代替exec。除了Node模块之外,我还尝试了几个其他命令。 谢谢。