Board logo

标题: [其他] [分享]自动生成合并视频的AVS 的bat [打印本页]

作者: anshi009009    时间: 2011-10-13 22:12     标题: [分享]自动生成合并视频的AVS 的bat

本帖最后由 anshi009009 于 2011-10-13 22:16 编辑

小菜鸟绕了很多弯写的,请高手精炼...
使用说明:把需要合并的视频的名字改名成按名字排序正好是视频组合顺序的名字,比如:
XXXX01.MP4
XXXX02.MP4
XXXX03.MP4

然后一起拖到bat图标上,就会在视频的原文件夹生成AVS
  1. @echo on
  2. set cs=%~dpn1
  3. set countt=0
  4. :ok
  5. if not "%~1"=="" (echo directshowsource^(^"%~1^"^)^.changefps^(23^)>>"%cs%_avs_temp1.txt"&shift&goto :ok)
  6. sort "%cs%_avs_temp1.txt">>"%cs%_avs_temp2.txt"
  7. for /f  "usebackq delims="  %%i in ("%cs%_avs_temp2.txt") do (
  8. set /a countt+=1
  9. set lastline=%%i)
  10. echo %countt% >"%cs%_avs_temp3.txt"
  11. set counttt=0
  12. for /f  "usebackq delims="  %%i in ("%cs%_avs_temp2.txt") do (
  13. setlocal enabledelayedexpansion
  14. (set /a counttt+=1)&&(if !counttt! lss  %countt% echo %%i  +\>>"%cs%_avs.avs"))
  15. echo %lastline%>>"%cs%_avs.avs"
  16. del "%cs%_avs_temp1.txt"
  17. del "%cs%_avs_temp2.txt"
  18. del "%cs%_avs_temp3.txt"
  19. pause
复制代码

作者: awk    时间: 2011-10-13 23:11

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set file=%~n1
  4. set linetotal=0
  5. type nul >"%temp%\%file%_avs_temp1.txt"
  6. :ok
  7. if not "%~1"=="" (
  8.     set /a linetotal+=1
  9.     echo directshowsource^(^"%~1^"^)^.changefps^(23^)  +\>>"%temp%\%file%_avs_temp1.txt"
  10.     shift
  11.     goto :ok
  12. )
  13. sort "%temp%\%file%_avs_temp1.txt" >"%temp%\%file%_avs_temp2.txt"
  14. set linethis=0
  15. (for /f "usebackq delims=" %%i in ("%temp%\%file%_avs_temp2.txt") do (
  16.     set /a linethis+=1
  17.     if !linethis! lss !linetotal! (
  18.         echo %%i
  19.     ) else (
  20.         set lastline=%%i
  21.         echo !lastline:~0,-4!
  22.     )
  23. ))>"%file%_avs.avs"
复制代码

作者: anshi009009    时间: 2011-10-14 14:13

回复 2# awk


    好像有错误,没找到生成的AVS




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2