Mac终端用命令将多个文件夹分别压缩

作者 : 开心源码 本文共637个字,预计阅读时间需要2分钟 发布时间: 2022-05-12 共239人阅读

今天整理文件时碰到了一件头疼事,文件夹里有几十个子文件夹,一个一个压缩又太麻烦了,于是上网搜了搜处理方法,下面直接上命令:(注意:压缩文件夹名称中不能有空格!)

$ cd ~/tmp$ for file in $(ls); do zip -r -q $file.zip $file; done

其中~/tmp是被压缩文件夹的路径,zip是压缩方法,-r-q是命令参数,其含义如下:

参数含义
-q不显示压缩进度状态
-r子目录及子目录下文件一律压缩;
注意,不加的话只有file这个文件夹被压缩,而里面的文件不会被压缩进去
-e对压缩文件进行加密,终端会提醒输入密码;
还有另一种加密方法,是直接在命令行里做的,比方:
zip -r -P pwd file.zip file, 直接使用pwd来加密file.zip
-m压缩完成时删除原文件
-o设置被压缩文件的最后修改时间为当前压缩时间

除此之外还有跨目录的压缩命令:(注意:压缩文件夹名称中不能有空格!)

$ cd ~/tmp$ for file in $(ls); do zip -r -q ~/other/$file.zip $file; done

其中~/other/是要压缩到的路径,其余部分与同路径压缩方法相同。
这里之所以没有用以下方法:(注意:压缩文件夹名称中不能有空格!)

$ for file in $(ls); do zip -r -q ~/other/$file.zip ~/tmp/$file; done

是由于不跳转到被压缩文件夹的路径,而是直接输入,会连同压缩文件夹前的路径一并压缩,造成压缩文件内部结构复杂

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Mac终端用命令将多个文件夹分别压缩

发表回复