Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用Node.js打开升华文本_Javascript_Node.js_Sublimetext3_Electron - Fatal编程技术网

Javascript 如何使用Node.js打开升华文本

Javascript 如何使用Node.js打开升华文本,javascript,node.js,sublimetext3,electron,Javascript,Node.js,Sublimetext3,Electron,我正在开发一个用和构建的文件管理系统 文件管理显示文件夹中的文件列表,并允许用户运行自定义命令以批处理文件,例如重命名、自定义分组等 然而,我想实现一个功能,如果用户点击一个文件,它将用他们选择的文本编辑器打开 我无法使用node.js代码打开sublime文本编辑器(或任何类似的编辑器) 我已经研究了其他问题,例如“和”,但没有一个答案对我有效 大多数答案都是用操作系统的“默认”程序打开文件,这不是我想要的。我希望能够选择打开文件的程序 我在下面找到了调用全局路径变量以从节点打开外部软件的代码

我正在开发一个用和构建的文件管理系统

文件管理显示文件夹中的文件列表,并允许用户运行自定义命令以批处理文件,例如重命名、自定义分组等

然而,我想实现一个功能,如果用户点击一个文件,它将用他们选择的文本编辑器打开

我无法使用node.js代码打开sublime文本编辑器(或任何类似的编辑器)

我已经研究了其他问题,例如“和”,但没有一个答案对我有效

大多数答案都是用操作系统的“默认”程序打开文件,这不是我想要的。我希望能够选择打开文件的程序

我在下面找到了调用全局路径变量以从节点打开外部软件的代码:

const exec = require("child_process").exec
exec('yourApp').unref()
但是,如果您将“yourApp”替换为指向sublime_text.exe的文件路径,则它当然不起作用,如下所示:

var exec = require('child_process').exec;
exec('C:/Program Files/Sublime Text 3/sublime_text.exe').unref()

任何帮助都将不胜感激。谢谢

您需要使用此路径:
C:/Program\Files/Sublime\Text\3/Sublime\u Text.exe

您需要使用此路径:
C:/Program\Files/subgrame\Text\3/subgrame\u Text.exe

我猜出来了。事实证明,打开一个外部文件需要比我第一次发布的代码多一点的代码。完整代码如下所示:

// Create a child process
var spawn = require('child_process').spawn;
var child = spawn('Path_To_.exe', ['parameters', 'Path_To_File']);
另外,以防有人怀疑没有必要对文件名中的空格进行转义


感谢所有主动提供帮助的人

我明白了。事实证明,打开一个外部文件需要比我第一次发布的代码多一点的代码。完整代码如下所示:

// Create a child process
var spawn = require('child_process').spawn;
var child = spawn('Path_To_.exe', ['parameters', 'Path_To_File']);
另外,以防有人怀疑没有必要对文件名中的空格进行转义


感谢所有主动提供帮助的人

“C:/Program Files/Sublime Text 3/Sublime_Text.exe”我认为空间有问题。是否可以删除空间并重试?(或使用转义序列)我尝试了这两种方法,使用转义序列并删除空格,但都不起作用。这是使用转义序列运行的命令:“C:/Program\Files/Sublime\Text\3/Sublime_Text.exe”在windows搜索栏中复制并粘贴,以使用此路径“C:/Program Files/Sublime Text 3/Sublime_Text.exe”打开Sublime_Text.exe文件。它工作正常吗?不,这不起作用,但那是因为操作系统使用“\”来定位目录,而我的理解节点使用“/”。如果我将“/”替换为“\”,则它可以工作。。。。嗯,让我试试看。不幸的是,还是不行,我刚才尝试的javascript字符串是这样的:“C:\\Program Files\\Sublime Text 3\\Sublime_Text.exe”,但它没有运行“C:/Program Files/Sublime Text 3/Sublime_Text.exe”,我想空间有问题。是否可以删除空间并重试?(或使用转义序列)我尝试了这两种方法,使用转义序列并删除空格,但都不起作用。这是使用转义序列运行的命令:“C:/Program\Files/Sublime\Text\3/Sublime_Text.exe”在windows搜索栏中复制并粘贴,以使用此路径“C:/Program Files/Sublime Text 3/Sublime_Text.exe”打开Sublime_Text.exe文件。它工作正常吗?不,这不起作用,但那是因为操作系统使用“\”来定位目录,而我的理解节点使用“/”。如果我将“/”替换为“\”,则它可以工作。。。。嗯,让我试试转义排序。不幸的是,还是不行,我刚才尝试的javascript字符串看起来是这样的:“C:\\Program Files\\Sublime Text 3\\Sublime_Text.exe”,但它没有运行所有需要转义的空格,它应该适用于您,这与Harsh Patel在评论中建议的类似,但不幸的是,它没有起作用。我也试过你的路线,但没有成功。如果有帮助的话,我正在运行electron的“appReady”函数内的“exec”(“C:/Program\Files/Submite\Text\3/Submite\U Text.exe”).unref();”行。我用pure node.js做了同样的尝试,但同样的结果没有得到响应。空格需要转义,它应该适合你,这与Harsh Patel在评论中建议的类似,但不幸的是它没有起作用。我也试过你的路线,但没有成功。如果有帮助的话,我正在运行electron的“appReady”函数内的“exec”(“C:/Program\Files/Submite\Text\3/Submite\U Text.exe”).unref();”行。我在pure node.js上尝试了同样的方法,但同样的结果没有得到响应。另外,因为我在回答中没有澄清,所以我想添加,如果您不知道要添加什么“参数”,这些是特定于应用程序的。所以,如果我想在这里运行node,我可以在参数中输入“-v”,让node在控制台中打印出它的版本。然而,没有参数,我需要为崇高的文本,所以我留下了这个空白,它工作得很好!另外,因为我在回答中没有澄清,所以我想添加,如果您不知道要添加什么“参数”,这些是特定于应用程序的。所以,如果我想在这里运行node,我可以在参数中输入“-v”,让node在控制台中打印出它的版本。然而,没有参数,我需要为崇高的文本,所以我留下了这个空白,它工作得很好!