使用lame将wav的所有子文件夹和文件批量转换为mp3

时间:2013-09-09 08:02:13

标签: audio batch-file lame

我想将指定文件夹中的所有WAV文件转换为MP3并存储在相同的目录结构中。我们有几个文件夹和子文件夹列表,按日期命名存储这些WAV记录。

由于相关帖子无法跨越文件扩展名问题,我一直站起来

for /r %i in (*) do if exist "%i.wav" do lame %i %i.mp3

我还在学习脚本。我正在使用Windows XP

任何帮助将不胜感激

2 个答案:

答案 0 :(得分:0)

要在批处理文件中使用它,您需要加倍%

这是另一种方式:

for /f "delims=" %%F in ('dir /b /s /a:-d *.wav') do (
 lame "%%F" "%%~dpnF.mp3"
) 

答案 1 :(得分:0)

即使回答了这个问题,我也想在这里发表,以帮助那些偶然发现这篇文章的人。

这是制作的批处理文件-将m4a转换为mp3(但首先检查是否存在,因此创建了重复的文件)-保留原始文件名(而stackoverflow上的某些答案将为“ songtitle.wav.mp3”。) / p>

您可以将m4a扩展名更改为所需的任何名称。

转换完成后,它还会删除旧文件。如果不需要这种行为,只需在最后删除&& del“ %% A”。

我将其另存为批处理文件,保存在音乐目录的根目录中,并cd到该目录并在其中运行。

FOR /R %%A IN (*.m4a) DO (
    IF NOT EXIST "%%~dA%%~pA%%~nA.mp3" B:\Software\ffmpeg-20180716-8aa6d9a-win64-static\bin\ffmpeg.exe -threads 8 -i "%%A" -vn -ac 2 -acodec libmp3lame -q:a 2 "%%~dA%%~pA%%~nA.mp3" && del "%%A"
)