gpt4 book ai didi

node.js - 路径有空格时无法执行 child_process.exec()

转载 作者:IT老高 更新时间:2023-10-28 23:10:36 28 4
gpt4 key购买 nike

我正在使用 appjs * ,我想执行一个命令来打开一个文件夹。

我有什么

var path = __dirname + '/folder to open/'; 
// path = C:\Program Files\myapplication/folder to open/
require("child_process").exec("start " + path);

错误

Could not find file C:\Program

我尝试了什么

我已经尝试过逃离空格,但没有成功。

var path = __dirname + '/folder to open/'; 
path = path.replace(' ', '\ ');
// path = C:\Program Files\myapplication/folder to open/
require("child_process").exec("start " + path);

当我把路径放在引号之间时,没有打开文件夹,只有另一个提示。

var path = "\"" + __dirname + "/folder to open/\"";
path = path.replace(' ', '\ ');
// path = "C:\Program Files\myapplication/folder to open/"
require("child_process").exec("start " + path);

相关错误 https://github.com/isaacs/npm/pull/2479

有人有修复或解决方法吗?

* 链接已删除

最佳答案

要打开包含空格的路径,您必须用双反斜杠替换。

在您的代码中,您转义了空格字符:

"\ "

您需要做的是转义反斜杠字符,使其进入输出字符串:

"\\ "

试试这个:

var path = __dirname + '/folder to open/'; 

// Notice the double-backslashes on this following line
path = path.replace(/ /g, '\\ ');

require("child_process").exec("start " + path);

关于node.js - 路径有空格时无法执行 child_process.exec(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16395612/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com