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