7za.exe 下载地址:http://www.7-zip.org/a/7za920.zip
7za <command> [<switch>...] <base_archive_name> [<arguments>...]
<command>
a 添加
u 更新
<switch>
1、带有空格的路径名或文件名必须加上引号,wildcard(通配符)仅限于文件名,在路径中不能使用通配符和盘符。
错误的示例:c:\Dir1\*.cpp 与 Dir1\D?r2\file1.txt
2、“*”代表所有文件,而“*.*”代表所有含“.”的文件。
-i[r[-|0]]{@listfile|!wildcard} : Include filenames 包含文件
-x[r[-|0]]]{@listfile|!wildcard} : eXclude filenames 排除文件
-r[-|0] : Recurse subdirectories 递归子目录方式:-r 为开启 -r- 为关闭 -r0 为开启但仅限通配符。
7za a -tzip src.zip *.txt -ir!DIR1\*.cpp
从当前目录中添加 *.txt 文件,和 DIR1 目录及其子目录中的 *.cpp 文件到 src.zip 压缩包。
7za a -tzip archive.zip -r src\*.cpp src\*.h
将 src 目录及其子目录中的 *.cpp 及 *.h 文件添加到 archive.zip 压缩包。
“listfile.txt”包含下列内容:
"My programs\*.cpp"
Src\*.cpp
7za a -tzip archive.zip @listfile.txt
将“My programs”及“Src”目录中所有扩展名为“cpp”的文件添加到压缩档案“archive.zip”中
-t{Type} : Set type of archive 指定压缩包格式(zip、7z、rar、cab、gzip、bzip2、tar)
-v{Size}[b|k|m|g] : Create volumes 指定分卷大小
-p{Password} : set Password 指定密码
-w[{path}] : assign Work directory. Empty path means a temporary directory 临时的工作目录
-ssw : compress shared files 压缩正在被其他应用程序使用的文件。默认不压缩这样的文件。
-u[-][p#][q#][r#][x#][y#][z#][!newArchiveName] : Update options
7za u c:\1\exist.7z -u- -up0q3x2z0!c:\1\update.7z * -r
(增量备份)不更改 exist.7z 压缩包的内容,创建新压缩包 update.7z 并将当前目录中的 exist.7z 压缩包里所有不同文件写入此压缩包。
状态说明 磁盘上的文件 压缩包中的文件
p 文件在压缩包中,但并不和磁盘上的文件相匹配。 存在,但并不匹配
q 文件在压缩包中,但磁盘上并不存在。 不存在 存在
r 文件不在压缩包中,但磁盘上存在。 存在 不存在
x 压缩包中的文件比磁盘上的文件新。 较旧 较新
y 压缩包中的文件比磁盘上的文件旧。 较新 较旧
z 压缩包中的文件和磁盘上的文件相同。 相同 相同
w 不能检测文件是否较新(时间相同但大小不同) ? ?
0 忽略文件(在压缩包中不为此文件创建项目)
1 复制文件(用压缩包中的新文件覆盖旧文件)
2 压缩文件(将磁盘上的新文件压缩到档案中)