抱歉,标题不太具描述性,但我无法想到更好的标题。
我使用这个脚本来拖放视频+音频文件,并将它们与ffmpeg结合起来。
ffmpeg -i "%~1" -i "%~2" -c copy "C:\New Folder\%~n1".mp4
效果很好,但输入和随后输出的文件在扩展名前都有“.raw”结尾。有没有简单的方法可以删除 %~n1 的最后 4 个字符或将“.raw”替换为“”?我想在使用 ffmpeg 将字符串指定为文件名之前对其进行操作,我不想输出以 .raw.mp4 结尾的文件,然后重命名它。
答案1
有没有简单的方法删除的最后 4 个字符%~n1
?
您需要使用子字符串运算符。尝试以下cmd
脚本:
@echo off
rem avoid polluting global environment space
setlocal
set "_file=%~n1"
rem strip last 4 characters from _file
set "_name=%_file~0,-4%"
rem run ffmpeg with new name
ffmpeg -i "%~1" -i "%~2" -c copy "C:\New Folder\%_name%".mp4
endlocal
进一步阅读
答案2
这是有效的答案
set filename=%~n1
set filename=%filename:.raw=%
ffmpeg -i "%~1" -i "%~2" -c copy "%filename%.mp4"
pause