Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/audio/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Audio 使用lame将wav的所有子文件夹和文件批量转换为mp3_Audio_Batch File_Lame - Fatal编程技术网

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

Audio 使用lame将wav的所有子文件夹和文件批量转换为mp3,audio,batch-file,lame,Audio,Batch File,Lame,我想将指定文件夹中的所有WAV文件转换为MP3并存储在同一目录结构中,我们有几个文件夹和子文件夹列表,这些文件夹和子文件夹按存储WAV录制的日期命名 多亏了相关的帖子,我才站起来,但我无法跨越文件扩展名的问题 for /r %i in (*) do if exist "%i.wav" do lame %i %i.mp3 我还在学习脚本。我正在使用Windows XP 若要在批处理文件中使用此文件,请提供任何帮助,您需要加倍% 还有一种方法: for /f "delims=" %%F in ('

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

多亏了相关的帖子,我才站起来,但我无法跨越文件扩展名的问题

for /r %i in (*) do if exist "%i.wav" do lame %i %i.mp3
我还在学习脚本。我正在使用Windows XP


若要在批处理文件中使用此文件,请提供任何帮助,您需要加倍
%

还有一种方法:

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

尽管这已经得到了回答,我还是想在这里发布这篇文章,以帮助任何无意中发现这篇文章的人

下面是生成的批处理文件——它将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"
)

不是对编码问题的回答,但如果这是一项一次性工作,我通常会这样做。我应该更加小心。