3

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

多亏了相关帖子,我才起床,但无法解决文件扩展名问题

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

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

任何帮助,将不胜感激

4

2 回答 2

0

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

这是另一种方法:

for /f "delims=" %%F in ('dir /b /s /a:-d *.wav') do (
 lame "%%F" "%%~dpnF.mp3"
) 
于 2013-09-09T08:41:50.160 回答
0

即使已经回答了这个问题,我还是想在此处发布此内容以帮助任何偶然发现此帖子的人。

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

您可以将 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"
)
于 2019-01-22T00:46:38.693 回答