需求
代码目录: code 下面有 .git
.idea
目录是不需要打包存储的,需要排除,直接使用如下命令:
7z a -t7z code.7z code '-xr!.git' '-xr!.idea'
并没有效果,还是打包了,原因是.
被解析成了当前目录,这是不被支持的
解决办法
把要排除的目录,输出到一个文件里面,然后调整命令如下:
7z a -t7z code.7z code/ -xr@dirs.txt
相关参数说明
7z # 主命令
a # 添加文件
-t7z # 打包时的文件类型
code.7z # 打包输出的文件名
code/ # 打包的目录
-xr@dirs.txt # 排除的数据,具体的文件或文件夹路径,以**打包目录**为根目录
生成指定的排除文件
ll | grep '^d' | awk '{print $9".git\n" $9".idea"}' > ../wrcl_dirs.txt
# 以上命令只是排除目录下的 .git .idea