Electron 安装路径含空格导致二进制文件执行错误?

66 天前
 83f420984

程序安装到 C:\Program Files 中后,在 Electron 环境中运行 FFmpeg 时会报找不到 FFmpeg 。

如果改成 C:\ProgramFiles 后就没任何问题。

获取 FFmpeg 路径代码如下:

  if (app.isPackaged) {
    return path.join(process.resourcesPath, 'binaries', 'ffmpeg.exe');
  }

用 AI 问了一圈,没找到解决办法

738 次点击
所在节点    问与答
4 条回复
ysc3839
66 天前
问题不在这,在执行那里
Atma
66 天前
执行 cmd 命令那边要把 ffmpegpath 引号括起来
jim9606
66 天前
可能需要在执行的时候用引号把路径包起来。
据我所知,python 的 subproccess.run 虽然支持传递字符串数组,但只在 posix 类系统下才会原样传递给 exec 系统调用,而在 windows 下就是拼接字符串,因此需要加引号及进行转义。估计 electron 也有这个问题。
83f420984
66 天前
@Atma
@jim9606
确实是这个问题,谢谢 🙏

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1080956

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX