一、核心概念
7-Zip是一款开源的文件压缩工具,提供强大的命令行功能。7z.exe是7-Zip的命令行版本,依赖其他模块;7za.exe是独立版本,仅支持7z、zip、gzip、bzip2和tar格式,不调用其他模块。
二、基本语法
2.1 命令格式
1
| 7z [命令] [[选项]...] [基本档案名称] [[参数变量]...]
|
参数说明:
命令:执行的操作(如a添加、x解压等)
选项:控制命令行为的参数
基本档案名称:压缩档案的文件名
参数变量:要处理的文件或通配符
2.2 常用示例
1 2 3 4 5
| 7z a -tzip -p111 archive.7z txt.txt
7z x -tzip -p111 archive.7z
|
三、核心命令详解
3.1 添加文件 (a)
添加文件到压缩档案。
1 2 3 4 5 6 7 8
| 7z a archive.zip file1.txt file2.txt
7z a -tzip archive.zip subdir\*
7z a -tzip Files.zip "Program files\*" -r
|
相关选项: -i, -m, -p, -r, -t, -u, -w, -x
3.2 解压文件 (e/x)
从压缩档案中释放文件。
1 2 3 4 5 6 7 8 9
| 7z e archive.zip
7z e archive.zip -oc:\soft *.cpp
7z x archive.zip 7z x archive.zip -oc:\soft *.cpp
|
区别:
e命令:将所有文件释放到同一目录
x命令:保持原始目录结构
相关选项: -ao, -i, -o, -p, -r, -x, -y
3.3 列表查看 (l)
列出压缩档案内容。
相关选项: -i, -r, -x
3.4 测试完整性 (t)
测试压缩档案文件的完整性。
相关选项: -i, -r, -p, -x
3.5 删除文件 (d)
从压缩档案删除文件。
相关选项: -i, -m, -p, -r, -u, -w, -x
3.6 更新文件 (u)
在压缩档案中更新较新的文件。
相关选项: -i, -m, -p, -r, -t, -u, -w, -x
四、重要选项详解
4.1 密码设置 (-p)
设置压缩档案密码。
1 2 3 4 5
| 7z a archive.zip -pMyPassword file.txt
7z x archive.zip -pMyPassword
|
4.2 递归操作 (-r)
控制目录递归处理。
1 2 3 4 5 6 7 8
| 7z a archive.zip -r *.txt
7z a archive.zip -r- *.txt
7z a archive.zip -r0 *.txt
|
4.3 压缩类型 (-t)
指定压缩档案格式。
1 2 3 4 5 6 7 8
| 7z a -tzip archive.zip *.txt
7z a -t7z archive.7z *.txt
7z a -tgzip archive.gz *.txt
|
4.4 输出目录 (-o)
设置解压输出目录。
1
| 7z x archive.zip -oc:\output
|
4.5 覆盖模式 (-ao)
控制文件覆盖行为。
1 2 3 4 5 6 7 8 9 10 11
| 7z x archive.zip -aoa
7z x archive.zip -aos
7z x archive.zip -aou
7z x archive.zip -aot
|
4.6 包含/排除文件 (-i/-x)
1 2 3 4 5 6 7 8
| 7z a archive.zip -i!*.txt -i!*.doc
7z a archive.zip -x!temp.* -x!*.bak
7z a archive.zip @filelist.txt
|
五、高级功能
5.1 自解压档案 (-sfx)
创建自解压可执行文件。
1 2 3 4 5 6 7 8
| 7z a -sfx7zC.sfx archive.exe *.txt
7z a -sfx7zCon.sfx archive.exe *.txt
copy /b 7zS.sfx + config.txt + archive.7z installer.exe
|
自解压模块:
7zC.sfx:Windows图形界面版本
7zCon.sfx:命令行版本
7zS.sfx:Windows安装版本
7zSD.sfx:Windows安装版本(需MSVCRT.dll)
5.2 分卷压缩 (-v)
创建分卷压缩档案。
1 2 3 4 5
| 7z a archive.7z *.iso -v10m
7z a archive.7z *.txt -v10k -v15k -v2m
|
5.3 压缩算法设置 (-m)
自定义压缩参数。
1 2 3 4 5 6 7 8 9 10 11
| 7z a archive.7z *.txt -mx=9
7z a archive.7z *.txt -m0=PPMd
7z a archive.7z *.exe -m0=BCJ -m1=LZMA:d=21
7z a archive.zip *.jpg -m0=Copy
|
5.4 标准输入输出 (-si/-so)
1 2 3 4 5
| 7z a archive.gz -tgzip -si < input.txt
7z x archive.gz -so > output.txt
|
六、实用技巧
6.1 通配符使用
1 2 3 4 5 6 7 8 9 10 11
| 7z a archive.zip *.txt
7z a archive.zip ?a*
7z a archive.zip *1*
7z a archive.zip *.*.*
|
6.2 文件列表管理
创建filelist.txt:
1 2
| "My programs\*.cpp" Src\*.cpp
|
使用文件列表:
1
| 7z a -tzip archive.zip @filelist.txt
|
6.3 批量操作
1 2 3 4 5
| for /d %i in (*) do 7z a "%~ni.7z" "%i\"
# 批量解压所有ZIP文件 for %i in (*.zip) do 7z x "%i"
|
七、常见问题解决
7.1 中文路径问题
1 2 3 4 5
| 7z a "archive.zip" "My Documents\*.doc"
7z a archive.zip MyDocu~1\*.doc
|
7.2 权限问题
1 2
| runas /user:Administrator "7z a archive.zip C:\Windows\*.log"
|
7.3 大文件处理
1 2 3 4 5
| 7z-x64 a archive.7z largefile.iso
7z a archive.7z largefile.iso -v1g
|
八、性能优化
8.1 多线程压缩
1 2
| 7z a archive.7z *.iso -mmt=on
|
8.2 内存优化
1 2 3
| 7z a archive.7z *.txt -m0=LZMA:d=24 7z a archive.7z *.txt -m0=LZMA:d=26
|
8.3 压缩比优化
1 2 3 4 5
| 7z a archive.7z *.txt -mx=9 -m0=LZMA:d=32
7z a archive.7z *.txt -ms=on
|
九、实际应用示例
9.1 备份目录
1 2
| 7z a "Backup-%DATE%.7z" "C:\Users\%USERNAME%\Documents\*" -x!*.tmp -x!*.temp -mx=5
|
9.2 日志文件归档
1 2
| forfiles /p "C:\Logs" /m *.log /d -30 /c "cmd /c 7z a Logs-Archive.7z @path"
|
9.3 网站文件打包
1 2
| 7z a website-backup.7z "C:\Websites\*" -r -x!*.cache -x!*.tmp -x!Thumbs.db -mx=7
|
十、总结
7-Zip命令行工具功能强大且灵活,掌握其使用方法可以大大提高文件处理效率。关键要点:
- 基本命令:a(添加)、x(解压)、l(列表)、t(测试)
- 重要选项:-p(密码)、-r(递归)、-t(格式)、-o(输出)
- 高级功能:-sfx(自解压)、-v(分卷)、-m(算法)
- 性能优化:合理使用多线程和内存设置
通过组合不同的命令和选项,可以满足各种复杂的文件压缩和解压需求。
相关资源: