我每天都使用ffmpeg将多个视频文件转换为各种其他格式。因此,我无法在整个地方移动ffmpeg和多个批处理文件。
我的文件夹C:\ffmpeg
包含ffmpeg.exe
以及我不同格式的所有不同批处理文件转换器。然后,我在桌面上有一个批处理文件的快捷方式,我可以拖放视频文件进行转换。
目前,我用这个来转换视频文件。
FOR %%A IN (%*) DO (
"%~dp0\ffmpeg.exe" -i %%A -c:v libx264 -crf 22 -c:a aac %%A_Converted.mp4
)
从文件夹example.avi
拖放视频文件C:\Users\User\Documents\Folder
会导致在同一位置创建文件example.avi_Converted.mp4
(完美!)。
我想从新文件名中删除原始文件类型.avi
,因此输出文件为example_Converted.mp4
。我可以使用~n
执行此操作,如下面的代码示例所示,但新文件将在C:\ffmpeg
而不是C:\Users\User\Documents\Folder
中创建。
FOR %%A IN (%*) DO (
"%~dp0\ffmpeg.exe" -i %%A -c:v libx264 -crf 22 -c:a aac "%%~nA_Converted.mp4"
)
有没有办法这样做,以便创建输出文件与输入文件的位置相同?