批量处理通过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
Language
中文(简体) 中文(繁體) 日本語 한국어 русский English français Deutsch español italiano বাংলা (ভারত) العربية ไทย Tiếng Việt Bahasa Melayu Filipino ελληνικά magyar dansk norsk íslenska Gaeilge