[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 1# sisuotoy


   
第31行
  1. img2webp -v -loop %loop% -lossy -q %q% -d %time%? %imgs% -o %DstFolder%\out_quality%q%_loop%loop%_frametime%time%.webp
复制代码
多了个问号,删除后如下,再试试看
  1. img2webp -v -loop %loop% -lossy -q %q% -d %time%  %imgs% -o %DstFolder%\out_quality%q%_loop%loop%_frametime%time%.webp
复制代码

TOP

回复 4# Batcher


    大神说的是对的,解决办法如下,其中imgs_len_Max可根据各自系统所支持的长度进行修改:
  1. @echo off
  2. setlocal enableDelayedExpansion
  3. set "str_FF="
  4. for %%b in (f e d c b a 9 8 7 6 5 4 3 2 1 0) do for %%c in (f e d c b a 9 8 7 6 5 4 3 2 1 0) do call set str_FF=!str_FF!%%b%%c
  5. set "_strlen=set $=^!#1^!#&set $=^!$^!^!$^!^!str_FF^!&set/a##=0x^!$:~512,2^!"
  6. set SrcFolder=E:\PS_Work\donggeng\face
  7. set DstFolder=E:\Temp\webptest\out
  8. set "imgs="
  9. set /a imgs_len=0
  10. set /a imgs_len_Max=7168
  11. for /f "delims=\" %%a in ('dir /b "%SrcFolder%\*.png*"') do (
  12. set #1=%%~a
  13. (%_strlen%)
  14. set /a imgs_len+=##+3
  15. if !imgs_len! gtr %imgs_len_Max% (
  16. call :Exec_img2webp
  17. set "imgs="
  18. set /a imgs_len=##+3
  19. )
  20. set "imgs=!imgs!"%%a" "
  21. )
  22. if %imgs_len% gtr 0 call :Exec_img2webp
  23. endlocal
  24. pause
  25. exit /b
  26. :Exec_img2webp
  27. set /a "loop=0"
  28. set /a "times=40"
  29. set /a "q=65"
  30. pushd "%SrcFolder%"
  31. img2webp.exe -v -loop %loop% -lossy -q %q% -d %times% %imgs% -o %DstFolder%\out_quality%q%_loop%loop%_frametimes%times%.webp
  32. popd
  33. exit /b
复制代码

TOP

返回列表