本文目录导读:

是的,可以用脚本自动将音频文件批量转换为MP3格式,最常用的工具是 FFmpeg,它支持几乎所有音频格式的转换。
以下提供几种常见场景的实用脚本(Windows/Linux/macOS 通用):
核心原理
FFmpeg 命令格式:
ffmpeg -i 输入文件.mp3 输出文件.mp3
单文件快速转换(Windows 批处理 / Linux Shell)
将脚本放在音频文件夹内运行,自动转换全部音频。
Windows .bat 脚本
@echo off
for %%i in (*.wav *.flac *.ogg *.aac *.m4a) do (
ffmpeg -i "%%i" -codec:a libmp3lame -q:a 2 "%%~ni.mp3"
echo 已转换: %%i
)
pause
Linux/macOS .sh 脚本
#!/bin/bash
for file in *.wav *.flac *.ogg *.aac *.m4a; do
[ -f "$file" ] || continue
ffmpeg -i "$file" -codec:a libmp3lame -q:a 2 "${file%.*}.mp3"
echo "已转换: $file"
done
参数说明:
-q:a 2:MP3质量(0=最好,9=最差,常用2-5)- 自动保留原文件名,仅改扩展名
递归处理子文件夹(推荐)
转换所有子目录中的音频,自动创建MP3副本在原位置。
Python 脚本(跨平台,最灵活)
import os
import subprocess
def convert_to_mp3(input_dir):
supported = ('.wav','.flac','.ogg','.aac','.m4a','.wma','.ape')
for root, _, files in os.walk(input_dir):
for f in files:
if f.lower().endswith(supported):
src = os.path.join(root, f)
basename, _ = os.path.splitext(f)
dst = os.path.join(root, basename + '.mp3')
cmd = ['ffmpeg', '-i', src, '-codec:a', 'libmp3lame', '-q:a', '2', dst]
try:
subprocess.run(cmd, check=True, capture_output=True)
print(f'✔ 转换完成: {f}')
except Exception as e:
print(f'✘ 失败 {f}: {e}')
if __name__ == '__main__':
convert_to_mp3('.') # 当前目录及所有子目录
使用前:确保已安装FFmpeg并加入环境变量。
拖放式转换(Windows 简易版)
创建一个 .bat 文件,将音频文件或文件夹拖拽到脚本上即可。
@echo off
set "input=%1"
if "%input%"=="" (
echo 请将音频文件或文件夹拖拽到此脚本上
pause
exit /b
)
attrib -r "%input%" 2>nul
if exist "%input%\" (
for /r "%input%" %%f in (*.wav *.flac *.ogg *.aac *.m4a) do (
ffmpeg -i "%%f" -codec:a libmp3lame -q:a 2 "%%~dpnf.mp3"
)
) else (
ffmpeg -i "%input%" -codec:a libmp3lame -q:a 2 "%~dpn1.mp3"
echo 已转换: %~nx1
)
pause
安装 FFmpeg
脚本依赖 FFmpeg:
- Windows:从 https://ffmpeg.org/download.html 下载,将
bin文件夹加入环境变量,或把ffmpeg.exe放在脚本同目录 - macOS:
brew install ffmpeg - Linux:
sudo apt install ffmpeg(Debian/Ubuntu)
进阶增强
- 保持原文件夹结构:将输出文件放在新目录
ffmpeg -i input.flac -c libmp3lame output_folder/output.mp3
- 多线程加速:使用
npm包batch-ffmpeg或GNU Parallel - 自动删除源文件:在成功转换后添加
del "源文件路径"(谨慎使用)
常见问题
- 无声音:检查源文件编码,某些格式(如 DTS)需额外解码器
- 中文乱码:Windows 下脚本保存为 ANSI 编码,或使用 Python 脚本
- 权限不足:确保脚本对目标文件夹有写入权限
选择适合你系统的脚本,安装 FFmpeg 后即可实现一键批量转换。