找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 5187|回复: 1

[文本处理] 批处理根据子目录下视频单独一键合并

[复制链接]
发表于 2024-12-21 19:10:06 | 显示全部楼层 |阅读模式
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. cd /d "%~dp0"
  4. set "TmpFile=Video.txt"
  5. set "LogFile=%~dp0Log.txt"
  6. set "OutputVideoName=修改此文字为合成视频名称.mp4"  ;; 自定义输出文件名
  7. echo 正在执行视频合并操作。 > "%LogFile%"
  8. echo 日志开始:%date% %time% >> "%LogFile%"

  9. :: 遍历当前目录下的直接子目录
  10. for /d %%d in (*) do (
  11.     set "Folder=%%d"
  12.     echo 正在处理文件夹:!Folder! >> "%LogFile%"
  13.     pushd "!Folder!"
  14.     if exist "!TmpFile!" del /f /q "!TmpFile!"
  15.    
  16.     :: 查找当前子目录下的所有视频文件并写入TmpFile
  17.     for %%f in (*.mp4 *.avi *.mov *.wmv *.mkv *.ts) do (
  18.         echo file '%%f' >> "!TmpFile!"
  19.     )
  20.    
  21.     :: 如果TmpFile存在,使用ffmpeg合并视频
  22.     if exist "!TmpFile!" (
  23.         ffmpeg -f concat -safe 0 -i "!TmpFile!" -c copy "!OutputVideoName!" >> "%LogFile%" 2>&1
  24.         if errorlevel 1 echo 错误:ffmpeg 命令执行失败 >> "%LogFile%"
  25.         del /f /q "!TmpFile!"
  26.     ) else (
  27.         echo 错误:没有找到视频文件 >> "%LogFile%"
  28.     )
  29.     popd
  30. )

  31. echo 日志结束:%date% %time% >> "%LogFile%"
  32. echo 视频合并操作完成。 >> "%LogFile%"
  33. pause
  34. endlocal
复制代码
 楼主| 发表于 2024-12-21 19:10:36 | 显示全部楼层
安装FFmepg 为前提
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 11:44 , Processed in 0.017709 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表