我有一个文件夹,其中包含 mpeg-dash 视频的视频片段。
有一个“init.mp4”文件以及 275 个段,即“seg-1.m4s”、“seg-2.m4s”等。我想将它们合并到一个文件中。
我在cmd中使用以下命令:
复制/b init.mp4 + seg-*.m4s source.mp4
上面的代码以错误的顺序合并文件。 see the merge order
如何以正确的顺序合并文件,例如 1,2,3...9,10,11..19,20...
另请注意,我尝试使用循环将它们一一合并。但这比上面的代码慢得多
最佳答案
一个非常简单的纯批处理文件解决方案:
@echo off
setlocal EnableDelayedExpansion
rem Sort file names in numerical order
for /F "tokens=1,2 delims=-." %%a in ('dir /B *.m4s') do (
set /A "num=1000+%%b"
set "file[!num!]=%%a-%%b.m4s"
)
rem Create the ordered list
set "files=init.mp4"
for /F "tokens=2 delims==" %%a in ('set file[') do set "files=!files! + %%a"
rem Do it
copy /B %files% source.mp4
关于batch-file - 如何使用命令提示符以正确的顺序合并文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53365884/