[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 77七 于 2023-2-4 12:23 编辑
  1. @echo off
  2. cd /d "%~dp0"
  3. for /f "delims=" %%i in ('dir /b /s /ad') do (
  4.         pushd "%%i"
  5.         for /f "delims=" %%a in ('dir /b /a-d *.ts') do (
  6.                 echo file '%%~fa'
  7.         )>>temp.txt
  8.         if exist temp.txt (
  9.                 ffmpeg -f concat -safe 0 -i temp.txt -c copy "%%~ni.mp4"
  10.                 for /f "tokens=2 delims='" %%b in ('type "temp.txt"') do (
  11.                         del "%%b"
  12.                 )
  13.                 del temp.txt
  14.         )
  15.         popd
  16. )
  17. pause
复制代码

加了个合并后删除功能,如果数据非常重要,可以删掉,第10、11、12这三行直接删除,以防合并出现错误、或效果不理想后丢失源文件

使用前先备份
bat小白,请多指教!谢谢!

TOP

回复 13# lvwenjun11

把代码以ansi编码格式保存为bat文件,放到需要处理的目录里面,如果目录下没有ts文件,肯定没有动静
bat小白,请多指教!谢谢!

TOP

本帖最后由 77七 于 2023-2-4 16:41 编辑

回复 17# lvwenjun11

看来是ffmpeg合并失败了
   你的文件名或者路径名是不是含有特殊符号?目录下不要存在与文件夹名同名的MP4文件
bat小白,请多指教!谢谢!

TOP

回复 19# lvwenjun11


  
  1. @echo off
  2. cd /d "%~dp0"
  3. rem 先设置路径ffmpeg的路径,需要引号,例如 set ffmpegexe="C:\Program Files\ffmpeg\ffmpeg.exe"
  4. set ffmpegexe=
  5. for /f "delims=" %%i in ('dir /b /s /ad') do (
  6. pushd "%%i"
  7. for /f "delims=" %%a in ('dir /b /a-d *.ts') do (
  8. echo file '%%~fa'
  9. )>>temp.txt
  10. if exist temp.txt (
  11. %ffmpegexe% -f concat -safe 0 -i temp.txt -c copy "%%~ni.mp4"
  12. for /f "tokens=2 delims='" %%b in ('type "temp.txt"') do (
  13. del "%%b"
  14. )
  15. del temp.txt
  16. )
  17. popd
  18. )
  19. pause
复制代码
你的ffmpeg应该没有添加到环境变量吧?
试一下这样呢?
bat小白,请多指教!谢谢!

TOP

回复 22# lvwenjun11


   你可以直接在命令行输入
  1. ffmpeg -h
  2. rem 或者
  3. ffmpeg -help
复制代码


试试看呢?
bat小白,请多指教!谢谢!

TOP

返回列表