shell 批量压缩指定目录及子目录内图片的方法
用户上传的图片,一般都没有经过压缩,造成空间浪费。因此需要编写一个程序,查找目录及子目录的图片文件(jpg,gif,png),将大于某值的图片进行压缩处理。
代码如下:
#!/bin/bash
#查找目录及子目录的图片文件(jpg,gif,png),将大于某值的图片进行压缩处理
#Config
folderPath='/home/fdipzone/photo'#图片目录路径
maxSize='1M'#图片尺寸允许值
maxWidth=1280#图片最大宽度
maxHeight=1280#图片最大高度
quality=85#图片质量
#压缩处理
#Param$folderPath图片目录
functioncompress(){
folderPath=$1
if[-d"$folderPath"];then
forfilein$(find"$folderPath"\(-name"*.jpg"-or-name"*.gif"-or-name"*.png"\)-typef-size+"$maxSize");do
echo$file
#调用imagemagickresize图片
$(convert-resize"$maxWidth"x"$maxHeight""$file"-quality"$quality"-colorspacesRGB"$file")
done
else
echo"$folderPathnotexists"
fi
}
#执行compress
compress"$folderPath"
exit0
以上这篇shell批量压缩指定目录及子目录内图片的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。