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

如何使(输出文件)从FFMPEG中的(输入mp3文件)中获取名称?,ffmpeg,Ffmpeg,我正在使用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

我正在使用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)输出。


回答
这是我问题的解决办法。

@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
@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