批量处理通过ffmpeg提取音频
复制代码保存为bat文件,修改ffmpeg_path中的ffmpeg.exe所在路径,拖拽视频到bat文件会自动提取音频到批处理所在目录的002.output
@echo off
setlocal enabledelayedexpansion
:: 检查是否拖放了文件
if "%~1"=="" (
echo [错误] 请将 MP4/MKV 文件拖到本脚本上
pause
exit /b
)
:: 设置 FFmpeg 路径(当前批处理所在目录的 001.bin 子目录)
set "ffmpeg_path=%~dp0001.bin\ffmpeg.exe"
:: 检查 FFmpeg 是否存在
if not exist "%ffmpeg_path%" (
echo [错误] 找不到 ffmpeg.exe,请确保它位于:
echo "%ffmpeg_path%"
pause
exit /b
)
:: 创建输出目录(002.output)
set "output_dir=%~dp0002.output"
if not exist "%output_dir%" mkdir "%output_dir%"
:: 处理每个拖放的文件
for %%F in (%*) do (
set "input_file=%%~F"
set "output_file=%output_dir%\%%~nF.m4a"
echo.
echo [正在处理] "%%~nxF"
echo ------------------------------
:: 使用 FFmpeg 提取音频(直接复制 AAC 流,不重新编码)
"%ffmpeg_path%" -i "!input_file!" -vn -c:a copy "!output_file!" -hide_banner -loglevel warning -stats
:: 检查是否成功
if exist "!output_file!" (
echo ------------------------------
echo [成功] 输出音频: "!output_file!"
) else (
echo ------------------------------
echo [失败] "%%~nxF" (可能无 AAC 音轨或文件损坏)
)
)
echo.
echo [完成] 所有文件处理完毕!
pause
