You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

macOS命令行批量将同级子目录分别压缩为同名Zip文件的实现方法

macOS命令行批量将同级子目录分别压缩为同名Zip文件的实现方法

很简单,在macOS的终端里,用一条原生的bash循环命令就能搞定,完全不用装额外工具。

首先,先切换到存放这些子目录的父目录下,比如你的test1、test2、test3都在~/Projects里,就先执行:

cd ~/Projects

然后直接运行这条命令:

for dir in */; do zip -r "${dir%/}.zip" "$dir"; done

我来拆解下这条命令的逻辑,方便你理解:

  • for dir in */;:遍历当前目录下所有一级子目录(*/是通配符,只会匹配以斜杠结尾的条目,也就是目录,不会碰普通文件)
  • ${dir%/}:这是bash的参数扩展技巧,用来去掉目录名末尾的斜杠——比如把test1/转成test1,这样生成的压缩包名就是test1.zip,完美对应你的需求
  • zip -r "${dir%/}.zip" "$dir":调用macOS自带的zip命令,-r参数是递归压缩目录里的所有内容(毕竟你要把目录里的文件也打包进去对吧?如果真的只想打包空目录,去掉-r就行,但应该不是你要的效果),双引号包裹变量是为了兼容带空格或特殊字符的目录名

执行完之后,你就能看到每个子目录都对应生成了同名的zip文件,完全符合你给出的例子~

备注:内容来源于stack exchange,提问作者Will Hanley

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 07:20:31