我正在使用ffmpeg合并视频,我有一堆* .mp4和* .m4a具有相同的名称,手动方式进行转换是键入ffmpeg命令,带有引用的文件名,我尝试自动化并拖放两个文件进行合并,但是我无法将文件名传递给变量,然后传递给ffmpeg,我尝试使用引号来代替!
代替%
但没有运气,有人知道我做错了什么?
@echo off
setlocal ENABLEDELAYEDEXPANSION
set "params=!cmdcmdline!"
set "params=!params:~0,-1!"
set "params=!params:*" =!"
set count=0
for %%G IN (!params!) do (
if %%~xG==.m4a (
set myaudio=%%~G)
if %%~xG==.mp4 (
set myvideo=%%~G )
)
C:\ffmpeg\bin\ffmpeg.exe -y -i "%myaudio%" -i "%myvideo%" -c copy "%myvideo%_new.mp4"
pause
exit
编辑:我有错误的语法,如评论中所述,删除额外的空格解决了问题