惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

月光博客
月光博客
Martin Fowler
Martin Fowler
博客园_首页
量子位
T
Tailwind CSS Blog
博客园 - Franky
G
Google Developers Blog
D
DataBreaches.Net
Vercel News
Vercel News
B
Blog
Recent Announcements
Recent Announcements
S
SegmentFault 最新的问题
M
MIT News - Artificial intelligence
爱范儿
爱范儿
博客园 - 【当耐特】
The Cloudflare Blog
H
Help Net Security
云风的 BLOG
云风的 BLOG
P
Proofpoint News Feed
C
Check Point Blog
有赞技术团队
有赞技术团队
Microsoft Security Blog
Microsoft Security Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

Fooleap's Blog

渴望理想 | Fooleap's Blog 19 年底一些事 | Fooleap's Blog 藉秋风,跑起来 | Fooleap's Blog 一个人去跑步 | Fooleap's Blog 8 月的跑量仿佛是那暑假的作业 | Fooleap's Blog 三伏天跑步那么难受,为何还要跑? | Fooleap's Blog 解决小程序开发“当前系统代理不是安全代理” | Fooleap's Blog 忘却配速的夏日跑步 | Fooleap's Blog 六月天时“带水”跑步更爽 | Fooleap's Blog 出来混迟早要还的 | Fooleap's Blog 跑步不能当饭吃 | Fooleap's Blog 将京东移动端详情页链接转为 PC 端 | Fooleap's Blog 不是热就是雨 | Fooleap's Blog 这半月,我跑了 11 个 520 | Fooleap's Blog 跑完流汗一时爽,一直流汗一直爽 | Fooleap's Blog 初夏夜跑 | Fooleap's Blog Electron 中打开 QQ 临时会话 | Fooleap's Blog 春节期间的培隆角 | Fooleap's Blog 从春天跑到夏天 | Fooleap's Blog 晨雾中奔跑 | Fooleap's Blog 漫步春雨中 | Fooleap's Blog 跑在木棉花下 | Fooleap's Blog 我在春节依然坚持跑步 | Fooleap's Blog 伴随着日出跑步 | Fooleap's Blog 没有最好,只有更好 | Fooleap's Blog 电子气温计 | Fooleap's Blog 渡亭小学的金凤花 | Fooleap's Blog 随心而跑 | Fooleap's Blog 2018 跑步小结 | Fooleap's Blog 在 gVim 中使用“非等宽字体” | Fooleap's Blog
Zip 压缩排除特定目录 | Fooleap's Blog
fooleap · 2017-06-23 · via Fooleap's Blog

在 Windows,我一直使用 7-Zip 压缩文件,压缩格式则常常选择比较通用的 zip。那么 7-Zip 怎么在压缩时排除特定的文件夹,使其不包括在内呢?最近需要用到,在此记录一下。

最近使用 npm 比较多,安装相关依赖的模块很方便,但在项目目录下会有个 node_modules 文件夹,里面随随便便就会有超多的文件。有些时候需要压缩打包项目文件夹时,就不希望把它也包括在内了,且若不排除它,压缩时可能还会出错。既不想在项目目录下压缩,总不能压缩时都把它给删了。

也许看看压缩工具,能否在压缩时排除掉,是比较方便的解决方法。在 7-Zip GUI 工具下,并没有找到相关的设置。查看帮助文件,找到了命令行版本有个相关的 switch ‘-x’ (Exclude filenames)[1]

语法看着不大明白,但对照例子,照葫芦画瓢总该可以。压缩文件时,排除特定目录的解决方法如下:

例如当前目录下有 foo 这个目录,其结构是这样的

$ tree
.
`-- foo
    |-- bar
    |   `-- hello.txt
    |   `-- world.txt
    `-- hello.txt

2 directories, 3 files

排除 bar 目录,则

7z a foo.7z foo -x!foo\bar

排除 foo/hello.txt 文件,则

7z a foo.7z foo -x!foo\hello.txt

排除所有 hello.txt 文件,则

7z a foo.7z foo -xr!hello.txt

排除所有 txt 文件,则

7z a foo.7z foo -xr!*.txt

排除所有目录文件,则

所用到的另外一个参数是递归 -r[2]

以上前提是把 7-Zip 的安装目录扔到系统环境变量。

参考资料

本文历史

  • 2017 年 06 月 23 日 完成初稿
  • 2018 年 08 月 24 日 完善例子

最近更新

猜你喜欢