我正在开发一个使用node.js和electron构建的文件管理系统。
文件管理显示文件夹中的文件列表,并允许用户运行自定义命令批处理文件,例如重命名,自定义分组等...
但是我想实现一个功能,如果用户点击文件,它将使用他们选择的文本编辑器打开。
我无法使用node.js代码打开sublime文本编辑器(或任何相关内容)。
我已经在这里查看了其他问题,例如“Launch an external application from node.js”和“Is it possible to execute an external program from within node.js?”,但没有一个答案对我有效。
大多数答案使用操作系统的“默认”程序打开文件,这不是我想要的。我希望能够选择打开文件的程序。
我发现下面的代码调用全局路径变量来从节点打开外部软件:
rdfs:subClassOf+
但是当然如果你用一个指向sublime_text.exe的文件路径替换'yourApp'就行不通了:
const exec = require("child_process").exec
exec('yourApp').unref()
非常感谢任何帮助。谢谢
答案 0 :(得分:0)
您需要将此作为您的路径: C:/ Program \ Files / Sublime \ Text \ 3 / sublime_text.exe
答案 1 :(得分:0)
我明白了。事实证明,它比我第一次发布打开外部文件所需的代码多一点。完整代码如下所示:
// Create a child process
var spawn = require('child_process').spawn;
var child = spawn('Path_To_.exe', ['parameters', 'Path_To_File']);
另外,如果有人想知道没有必要转义序列文件名中的空格。
感谢所有愿意提供帮助的人!