[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
自己写的一个获取图片信息的,速度不快。使用了三方nconvert.exe 和外部JS
改改应该能用^_^
  1. ::获取计算图片尺寸等
  2. @echo off
  3. cd/d%~dp0
  4. set "picfile=测试图片.jpg"
  5. call :picInfo pxWidth pxHeight xDpi yDpi Width Height "%picfile%"
  6. echo 图片名:*%picfile%*
  7. echo 像素宽x高:%pxWidth%x%pxHeight%  分辨率宽%xDpi%dpi 高%yDpi%dpi
  8. echo 尺寸宽x高:%Width%x%Height% cm
  9. pause
  10. goto :eof
  11. ::====完====
  12. :picInfo file pW pH xdpi ydpi width height pfile ::获取图片宽高信息
  13. setlocal
  14. if not exist %7 echo/没有图片!&&pause&goto :eof
  15. for /f "tokens=1,2 delims=: " %%p in ('"nconvert -info %~s7"')do (
  16. set "%%p=%%q"
  17. )
  18. set N=
  19. if "%xdpi%" gtr "a" (
  20. for /f "tokens=1-4 delims=(): " %%p in ('"nconvert -fullinfo %~s7|find "Resolution""')do call :FinfoP "%%p%%q=%%s"
  21. )
  22. if not "%N%"=="" set/a xDpi=XResolution,yDpi=YResolution
  23. set N=
  24. set "pxW=%width%"
  25. set "pxH=%height%"
  26. if not defined pxW echo/获取宽度像素失败!&&pause&goto :eof
  27. if not defined pxH echo/获取高度像素失败!&&pause&goto :eof
  28. if not defined Xdpi echo/获取水平DPI失败!&&pause&goto :eof
  29. if not defined Ydpi echo/获取垂直DPI失败!&&pause&goto :eof
  30. ::JS根据像素及分辨率计算图片宽高cm
  31. for /f "tokens=1-2 delims=x " %%x in ('"cscript -nologo -e:jscript CalcDeci.js %pxW% %pxH% %Xdpi% %Ydpi%"')do (
  32. set xWidth=%%x&set yHeight=%%y
  33. )
  34. endlocal&set %1=%pxW%&set %2=%pxH%&set %3=%xDpi%&set %4=%yDpi%&set %5=%xWidth%&set %6=%yHeight%
  35. goto :eof
  36. :FinfoP "Str1Str2=Val4"
  37. set/aN+=1
  38. if %N% leq 3 set/a %1
  39. goto :eof
复制代码
.js文件存在.bat同目录下
  1. //CalcDeci.js 计算小数,这里保留一位(批处理不能计算小数,JS计算后结果返回BAT)
  2. //测试通过:CalcDeci.js 831 1530 96 96
  3. Width  = WScript.Arguments(0);
  4. Height = WScript.Arguments(1);
  5. Xdpi   = WScript.Arguments(2);
  6. Ydpi   = WScript.Arguments(3); //Math.round为四舍五入取整
  7. WScript.Echo(Math.round(Width*2.54/Xdpi*10)/10+'x'+Math.round(Height*2.54/Ydpi*10)/10);
复制代码
如无特别说明,代码测试环境均为 XP SP3

TOP

返回列表