DevStore小编专栏
shell 批量压缩指定目录及子目录内图片
用户上传的图片,一般都没有经过压缩,造成空间浪费。因此需要编写一个程序,查找目录及子目录的图片文件(jpg,gif,png),将大于某值的图片进行压缩处理。
代码如下:
- #!/bin/bash
- # 查找目录及子目录的图片文件(jpg,gif,png),将大于某值的图片进行压缩处理
- # Config
- folderPath='/home/fdipzone/photo' # 图片目录路径
- maxSize='1M' # 图片尺寸允许值
- maxWidth=1280 # 图片最大宽度
- maxHeight=1280 # 图片最大高度
- quality=85 # 图片质量
- # 压缩处理
- # Param $folderPath 图片目录
- function compress(){
- folderPath=$1
- if [ -d "$folderPath" ]; then
- for file in $(find "$folderPath" \( -name "*.jpg" -or -name "*.gif" -or -name "*.png" \) -type f -size +"$maxSize" ); do
- echo $file
- # 调用imagemagick resize图片
- $(convert -resize "$maxWidth"x"$maxHeight" "$file" -quality "$quality" "$file")
- done
- else
- echo "$folderPath not exists"
- fi
- }
- # 执行compress
- compress "$folderPath"
- exit 0
相关推荐
本文将详细介绍如何使用shell脚本批量压缩指定目录及子目录内的图片,以节省存储空间。这种方法适用于那些需要处理大量用户上传图片的Web应用或者服务,以降低服务器存储成本。 首先,我们需要了解一些基本的shell...
【标题】"360批量增加DEDE子目录助手"涉及到的是一个针对织梦内容管理系统(DedeCMS)的辅助工具。织梦内容管理系统是一款基于PHP+MySQL开发的开源CMS,广泛应用于网站建设和管理。这款360批量增加DEDE子目录助手...
1. 遍历指定目录或递归遍历所有子目录,查找所有.zip文件。 2. 使用`unzip`命令提取压缩包中的指定文件到临时目录。 3. 替换临时目录中的目标文件。 4. 使用`zip`命令重新压缩修改后的文件,覆盖原有的.zip文件。 `...
在IT行业中,图片批量压缩是一项常见的任务,尤其是在网站优化、数据存储或移动应用开发中。为了提高效率,人们经常编写脚本来自动化这个过程。这里,我们将会深入探讨一个使用ImageMagick工具进行图片批量压缩的...
在VB6.0环境下,有时候我们需要对PictureBox控件...这种方法不仅适用于单个图片,还可以扩展到多个图片的批量压缩,只需在命令行参数中添加更多的文件路径即可。在实际应用中,可以根据具体需求进行代码的优化和定制。
2. **压缩目录**:`zip -r filename.zip directory`,递归地压缩directory目录及其所有子目录和文件。 3. **查看压缩包内容**:`unzip -l filename.zip`,列出压缩文件内的文件列表。 4. **解压缩文件**:`unzip ...
本文将深入探讨如何使用Python结合WinRAR的命令行工具实现批量解压RAR文件,适用于处理大量的压缩文档。 首先,我们要了解Python语言本身并不直接支持RAR文件的操作,但我们可以借助外部库或系统命令来实现。在这个...
3. **ZIP 文件格式**:一种广泛使用的文件压缩与存档格式,能够将多个文件及目录压缩成一个单一的ZIP文件,同时支持文件的加密保护。 #### 二、压缩 ZIP 文件 ##### 代码解析 ```vbscript Sub Zip(ByVal ...
-name "file.txt"`在当前目录及其子目录下查找名为`file.txt`的文件。 11. **man**:查看命令的帮助文档。 12. **chmod**:更改文件或目录的权限,如`chmod 755 file.sh`使文件具有执行权限。 13. **chown**和`...
50 16 * * * rm -r /abc/* # 删除/abc目录下的全部子目录和文件 0 8-18/1 * * * cut -f1 /xyz/x1 >> /backup/bak01.txt # 每小时读取/xyz目录下x1文件中每行第一个域的数据 50 17 * * * tar zcvf backup.tar.gz /...
“标签”中的“批量远程终端命令”意味着我们可能需要使用ssh的`-t`选项创建一个伪TTY,以便执行交互式命令,或者使用`-m`选项指定一个包含命令列表的文件,让ssh一次性执行这些命令。 结合以上信息,我们可以构建...
例如,如果你要压缩的是一个目录及其所有子目录,可以使用递归函数遍历文件: ```php function addDirectoryToZip($dir, $zip, $baseDir = '') { $files = scandir($dir); foreach ($files as $file) { if ($...
- `50 16 * * * rm -r /abc/*` 每天下午4:50删除 `/abc` 目录下的所有子目录和文件。 - `0 8-18/1 * * * cut -f1 /xyz/x1 >> /backup/` 每小时从早上8:00到下午6:00,提取 `/xyz/x1` 文件的第一列数据追加到 `/...
`compress_pictuer_size.sh`很可能是一个shell脚本,用于批量处理目录中的所有JPEG图片,自动应用上述的JPEGoptim参数。这种脚本对于处理大量图像文件非常有用,可以大大提高工作效率。 **嵌入式Linux根目录下的...
3. 使用 Shell 命令可以实现批量操作,例如删除多个文件、压缩多个文件夹等。 4. 使用 Shell 命令可以实现自动化操作,例如使用 WGET 命令从其他服务器下载文件。 结语 使用 Dreamhost 空间下 Shell 命令可以极大...
- 删除名为`dir1`的目录及其所有子目录和文件。其中,`-r`表示递归删除,`-f`表示强制删除,即使文件被锁定或设置为只读也会删除。 3. **df**:显示磁盘分区的使用情况。 - 示例:`df -T` - 显示各分区的类型及...
例如,我们可以通过`os.listdir()`获取指定路径下的所有文件和子目录名,而`os.path.isdir()`则可以用来判断一个路径是否为目录。 当需要检查一个目录是否为空时,我们可以遍历该目录下的所有元素,如果列表长度为...
易语言~模块~批量~下载 2008-11-08 14:41 文件夹 文件夹 易语言模块大全 2005-10-21 15:30 14489 3100 易语言模块大全\24位转单色位图模块.ec 2007-01-18 07:00 7110 2339 易语言模块大全\69msn.ec 2005-05-26 02:18...
它们通常是隐藏的,位于每一个受SVN控制的文件夹内,以便于SVN管理文件和目录的状态。 批量删除.SVN文件夹通常不是常规操作,因为这将丢失与这些文件关联的版本控制信息,可能会对之后的版本回溯或协作造成困扰。但...
### VBA与WinRAR:利用Shell函数实现文件的压缩与解压缩 #### 一、Shell函数简介 **Shell函数**是Visual Basic (VB) 应用程序中的一个重要组成部分,尤其在Visual Basic for Applications (VBA) 中,它可以用来...