You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

FFmpeg合并含空格与单引号路径视频时批处理脚本报错求助

解决FFmpeg Concat因路径含单引号导致的路径截断问题

你的问题核心在于路径里的单引号和concat列表文件里的单引号分隔符冲突了!当路径是E:\Videos\Ryan's Videos时,用单引号包裹路径后,FFmpeg会把Ryan后面的那个单引号当成字符串结束标记,直接截断路径为E:\Videos\Ryans,剩下的内容自然就无法识别了。

修复方案:改用双引号包裹路径

只需要修改生成mylist.txt时的引号类型,同时处理批处理里的双引号转义逻辑,就能完美解决问题。修改后的完整批处理脚本如下:

(for %%i in (%*) do @echo file "%%~i") > mylist.txt
C:\ffmpeg\bin\ffmpeg.exe -f concat -safe 0 -i "%cd%\mylist.txt" -c copy "%cd%\output.mp4"
pause

为什么这个方案有效?

  • 批处理中用双引号包裹路径时,你的路径里只有单引号('),不会和双引号产生冲突,生成的mylist.txt内容会是:
    file "E:\Videos\Ryan's Videos\1.mp4"
    file "E:\Videos\Ryan's Videos\2.mp4"
    
  • FFmpeg读取concat列表时,双引号作为字符串包裹符,能准确识别包含单引号的完整路径,不会再出现路径截断的错误。

额外小提示

如果后续遇到路径同时包含单引号和双引号的极端场景,还可以用FFmpeg支持的转义方式:把路径里的'替换成\',不过对于当前你的场景,用双引号的方案已经是最简单直接的了。

内容的提问来源于stack exchange,提问作者RyanMe321

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:28:39