Board logo

标题: [文件操作] 批处理怎样把大于200KB的相片减小到199KB以内呀? [打印本页]

作者: 朱科技    时间: 2021-5-16 15:48     标题: 批处理怎样把大于200KB的相片减小到199KB以内呀?

文件夹内检测相片小于200KB保持原样,大于等于200KB的减小到199KB以内呀
作者: newswan    时间: 2021-5-16 16:42

ffmpeg 用这个可以方便压缩图片
作者: 朱科技    时间: 2021-5-16 17:04

回复 2# newswan


    1个文件夹中有80个二级文件夹,每个二级文件夹可能有大于200KB的,可能也没有大于200KB的
作者: newswan    时间: 2021-5-16 17:29

回复 3# 朱科技


    https://www.feifanju.com/ffmpeg-images.html

你下个 ffmpeg 先试试,如果可行,再判断大小
作者: xp3000    时间: 2021-5-16 20:51

  1. @echo off&setlocal enabledelayedexpansion&cd /d %~dp0
  2. title 图片高和宽的最大值为输入的缩略图最大像素值……
  3. if not exist "C:\Windows\System32\nconvert.exe" (
  4.     echo 没有nconvert,请前往下面地址下载,放入C:\Windows\System32
  5.     echo,http://bcn.bathome.net/s/tool/index.html?key=nconvert
  6. pause&exit /b
  7. )
  8. set /p "str=请输入缩略图最大像素:"
  9. ::排除res、thumbs、slides文件夹
  10. for /f "delims=" %%a in ('dir /ad /b /s * ^| findstr /i /v "\\res$" ^| findstr /i /v "\\thumbs$" ^| findstr /i /v "\\slides$"') do (
  11. for %%i in ("%%a\*.jpg" "%%a\*.png" "%%a\*.bmp") do (
  12.     if not exist "%%a\%%~nxi" md "%%a\thumbs")
  13.     cd "%%a"&echo.&echo 进入 "%%a" 文件夹查找图片. . .&echo 缩略图将存放于各自文件夹的thumbs内. . .
  14.     for /f "delims=" %%b in ('dir /a-d /b "*.jpg" "*.png" "*.bmp"') do (
  15. if %%~zb gtr 209715 (
  16.         for /f "tokens=1* delims=:" %%i in ('nconvert.exe -info "%%b"^|findstr /i /l /c:"Width"') do set W=%%j&set W=!W: =!
  17.         for /f "tokens=1* delims=:" %%k in ('nconvert.exe -info "%%b"^|findstr /i /l /c:"Height"') do set H=%%l&set H=!H: =!
  18.             if !W! leq !H! (set W=0&set H=!str!) else (set W=!str!&set H=0)
  19. nconvert -rmeta -quiet -overwrite -out jpeg -ratio -resize !W! !H! -c 8 -o "%%a\thumbs\%%~nb.jpg" "%%~nxb"
  20.     ))
  21. )
  22. echo.
  23. echo,创建缩略图完成. . .
  24. pause&exit /b
复制代码
我一张1080x1920的人物图片因相近色比较多只有39k,另外一张只有这张图片四分之一尺寸的却是它的8倍大小,
因图片尺寸不固定,所以不确定是不是没有压缩造成的,可以考虑下这种




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