如何使(输出文件)取自FFMPEG中(输入mp3文件)的名称



我使用的是Windows 7
这是我的批处理文件
此批处理文件结合了mp3和png。通过将相册艺术添加到音频文件

@echo off
@setlocal EnableDelayedExpansion
color a
set a=Your_files*.mp3
set aa=Your_files*.png
set b="Result%%~na.mp3"
set c=ffmpeg
set f=-map 0:0 -map 1:0 -c copy -id3v2_version 3 -metadata:s:v title="Album cover" -metadata:s:v comment="Cover (Front)"
for %%a in (%a%) do !set mp3="%%a"!
for %%s in (%aa%) do !set png="%%s"!
%c% -y -i %mp3% -i %png% %f% %b%
exit

当我写这个(%%~na.mp3(时,他不知道从哪里得到标题
因此它将其输出为文件名(%~na.mp3(。

set a=Your_files*.mp3
set aa=Your_files*.png
set b="Result%%~na.mp3"

这就是我想要的。打开我的

答案
这是我的问题的解决方案

@echo off
setlocal EnableDelayedExpansion
color a
set a=Your_files*.mp3
set aa=Your_files*.png
set b="Result%%~na.mp3"
set c=ffmpeg
set f=-map 0:0 -map 1:0 -c copy -id3v2_version 3 -metadata:s:v title="Album cover" -metadata:s:v comment="Cover (Front)"
for %%s in (%aa%) do !set png="%%s"!
for %%a in (%a%) do (%c% -y -i "%%a" -i %png% %f% %b%)
exit

最新更新