Windows批处理脚本自动合并当前目录下由You-get下载的未合并的音视频文件

以下是一个Windows批处理脚本,可以自动合并当前目录下由You-get下载的未合并的音视频文件(video.m4s和audio.m4s):

复制代码
复制代码
@echo off
setlocal enabledelayedexpansion

:: 创建合并目录
if not exist "Merged" mkdir "Merged"

:: 显示进度
echo 正在扫描当前目录...
echo.

:: 主处理流程
for /f "delims=" %%v in ('dir /b /a-d "*[00].mp4" 2^>nul') do (
    :: 使用字符串替换确保精确匹配
    set "video=%%v"
    set "audio=!video:[00]=[01]!"
    
    echo 视频文件: !video!
    echo 尝试匹配: !audio!
    
    if exist "!audio!" (
        :: 生成输出文件名(移除[00]标记)
        set "output=!video:[00]=!"
        
        :: 处理ffmpeg的元数据问题
        echo 正在合并: !output!...
        ffmpeg -i "!video!" -i "!audio!" -map 0:v -map 1:a -c copy -movflags +faststart "Merged\!output!"
        
        if !errorlevel! equ 0 (
            echo [√] 合并成功: !output!
            :: 成功后可选的清理(取消注释启用)
            :: del "!video!" "!audio!"
        ) else (
            echo [×] 合并失败,尝试第二种方案...
            ffmpeg -i "!video!" -i "!audio!" -c:v copy -c:a aac -b:a 192k "Merged\!output!"
        )
    ) else (
        echo [!] 未找到匹配的音频文件
        echo 可能存在的音频文件:
        dir /b "!video:[00]=[*].mp4"
    )
    echo.
)

:: 后处理
echo 操作完成!合并文件保存在 Merged 文件夹
echo 按任意键查看结果...
pause
start "" "Merged"

改进亮点:

  1. ​智能文件名匹配​​:

    • 使用 !var:str1=str2!字符串替换,确保精确转换 [00][01]

    • 示例:视频[00].mp4→ 精准匹配 视频[01].mp4

  2. ​双重合并方案​​:

    • 首选方案:-map 0:v -map 1:a确保流选择正确

    • 备用方案:当直接拷贝失败时自动转码音频为AAC格式

  3. ​中文路径支持​​:

    • 完整保留所有特殊字符(中文、日文、符号等)

    • 正确处理包含【】、《》等特殊符号的文件名

  4. ​诊断功能增强​​:

    • 显示实时匹配过程

    • 失败时自动列出相似文件辅助排查

    • 完成后自动打开结果文件夹

使用说明:

  1. 将脚本保存为 merge.bat

  2. 放入包含 [00].mp4[01].mp4的文件夹

  3. 直接运行,无需任何参数

  4. 合并结果保存在自动创建的 Merged子文件夹

常见问题应对:

  • ​如果仍提示找不到文件​​:

    检查文件是否被其他程序锁定(如播放器正在使用)

  • ​如果合并后音画不同步​​:

    尝试改用以下命令:

    复制代码
    ffmpeg -i "!video!" -i "!audio!" -c:v copy -c:a aac -af "aresample=async=1000" "Merged\!output!"
  • ​如需处理其他编号格式​​:

    修改脚本中的 [00][01]为您实际使用的编号

这个版本应该能完美处理您提到的所有复杂文件名情况。如果遇到特殊情况,建议提供具体的文件名示例以便进一步优化。

相关推荐
怒码ing12 小时前
List<?>和List<Object>区别
windows·python·list
我是海飞13 小时前
Tensorflow Lite 的yes/no语音识别音频预处理模型训练教程
python·学习·tensorflow·音视频·嵌入式·语音识别
音视频牛哥13 小时前
具身智能的工程落地:视频-控制闭环的实践路径
人工智能·音视频·人工智能+·具身智能rtsp方案·具身智能rtmp方案·智能机器人rtsp方案·智能机器人rtmp低延迟
豆浩宇14 小时前
学习PaddlePaddle--环境配置-Windows 11 + RTX 4060
人工智能·windows·深度学习·学习·目标检测·计算机视觉·paddlepaddle
今人不见古时月,今月曾经照古人14 小时前
将 Android 设备的所有系统日志(包括内核日志、系统服务日志等)完整拷贝到 Windows 本地
windows·adb
lichong95114 小时前
【混合开发】Android+Webview+VUE播放视频之视频解析工具mediainfo-Macos
android·macos·架构·vue·音视频·api·postman
charlie11451419114 小时前
Windows 编程——字符串处理
windows·学习·c·字符串处理·windows编程
李火火的安全圈1 天前
【系统安全】Windows文件资源管理器欺骗漏(CVE-2025-24054、CVE-2025-50154)
windows
百度智能云技术站1 天前
百度智能云「智能集锦」自动生成短剧解说,三步实现专业级素材生产
人工智能·音视频
HelloRevit1 天前
让B站视频4倍速度播放
前端·javascript·音视频