7z (中文)是優秀開源的壓縮解壓縮軟件(wiki: en 中文),有windows版本與linux版本,最新的9.32版本支持的格式包括:
壓縮與解壓縮均支持:7z, XZ, BZIP2, GZIP, TAR, ZIP and WIM
只支持解壓縮:ARJ, CAB, CHM, CPIO, CramFS, DEB, DMG, FAT, HFS, ISO, LZH, LZMA, MBR, MSI, NSIS, NTFS, RAR, RPM, SquashFS, UDF, VHD, WIM, XAR, Z
在windows上,7z提供了GUI窗口程序和命令行工具(內含命令行說明文檔),下面簡單地介紹一下命令行的用法:
追加文件到壓縮包(add)
7z a files.7z *.txt // 將當前目錄下(不含子目錄)的所有txt文件添加到files.7z壓縮包中
7z a -t7z files.7z *.txt -p123456 // 將當前目錄下(不含子目錄)的所有txt文件添加到files.7z壓縮包,並將壓縮包的密碼設置為123456
7z a -tZip files.zip *.txt -mx0 // 將當前目錄下(不含子目錄)的所有txt文件以不壓縮方式添加到files.zip壓縮包中
7z a -tZip files.zip *.txt -mx1 // 將當前目錄下(不含子目錄)的所有txt文件以低壓縮方式添加到files.zip壓縮包中
7z a -t7z files.7z *.txt -mx3 // 將當前目錄下(不含子目錄)的所有txt文件以快速壓縮方式添加到files.7z壓縮包中
7z a -t7z files.7z *.txt -mx5 // 將當前目錄下(不含子目錄)的所有txt文件以正常壓縮方式添加到files.7z壓縮包中
7z a -t7z files.7z *.txt -mx7 // 將當前目錄下(不含子目錄)的所有txt文件以最大壓縮方式添加到files.7z壓縮包中
7z a -t7z files.7z *.txt -mx9 // 將當前目錄下(不含子目錄)的所有txt文件以超大壓縮方式添加到files.7z壓縮包中
7z a -t7z files.7z "d:\test" -m0:LZMA // 將d盤test目錄所有內容用LZMA壓縮算法添加到files.7z壓縮包中(壓縮包第一層為test,保持原有目錄結構)
// 壓縮算法包括:LZMA, LZMA2, PPMd, BZip2, Deflate, Delta, BCJ, BCJ2, Copy
7z a -t7z files.7z "d:\test" // 將d盤test目錄中所有內容添加到files.7z壓縮包中(壓縮包第一層為test,保持原有目錄結構)
7z a -t7z files.7z "test" // 將當前目錄的test目錄中所有內容添加到files.7z壓縮包中(壓縮包第一層為test,保持原有目錄結構)
7z a -t7z files.7z "test\*" // 將當前目錄的test目錄中所有內容添加到files.7z壓縮包中(壓縮包第一層直接為test中的內容,保持原有目錄結構)
7z a -t7z files.7z "test\abc" // 將當前目錄的test目錄下的abc文件夾中所有內容添加到files.7z壓縮包中(壓縮包第一層為test,第二層為abc,保持原有目錄結構)
7z a -t7z files.7z "d:\test" // 將d盤test目錄中所有內容添加到files.7z壓縮包中(壓縮包第一層為test,保持原有目錄結構)
7z a -t7z files.7z "d:\test\*" // 將d盤test目錄中所有內容添加到files.7z壓縮包中(壓縮包第一層直接為test中的內容,保持原有目錄結構)
7z a -t7z files.7z "d:\test\*.txt" // 將d盤test目錄中txt文件(不含子目錄)添加到files.7z壓縮包中(壓縮包第一層直接為test中的內容)
7z a -t7z files.7z "d:\test\*.txt" -r // 將d盤test目錄中txt文件(遞歸子目錄)添加到files.7z壓縮包中(壓縮包第一層直接為test中的內容,保持原有目錄結構)
不指定-t時,壓縮格式為7z。-t 可指定如下壓縮格式:zip、7z、gzip、bzip2、tar等
刪除壓縮包中文件(delete)
7z d files.zip *.bak -r // 遞歸子目錄刪除files.zip壓縮包中的所有bak文件
解壓壓縮包(extract)
7z e files.zip // 去除目錄結構解壓files.zip到當前目錄
7z x files.zip // 保持目錄結構解壓files.zip到當前目錄
7z x files.zip -o"c:\doc" // 保持目錄結構解壓files.zip到c盤doc目錄中
7z x files.zip -p123456 // 保持目錄結構解壓密碼為123456的files.zip當前目錄
7z x files.zip -aoa // 保持目錄結構解壓files.zip到當前目錄;若有文件沖突,使用壓縮包中文件替換掉原來當前目錄中的文件
7z x files.zip -aos // 保持目錄結構解壓files.zip到當前目錄;若有文件沖突,使用原來當前目錄中的文件
7z x files.zip -aou // 保持目錄結構解壓files.zip到當前目錄;若有文件沖突,加上編號對壓縮包中文件進行重命名,原來當前目錄中的文件不動
7z x files.zip -aot // 保持目錄結構解壓files.zip到當前目錄;若有文件沖突,加上編號對原來當前目錄中的文件進行重命名,壓縮包中文件不動
列出壓縮包中內容(list)
7z l files.zip // 保持目錄結構列出files.zip壓縮包中的所有文件(遞歸子目錄)
測試壓縮包完整性(test)
7z t files.zip *.doc -r // 遞歸子目錄測試files.zip壓縮包中所有doc文件的完整性
更新壓縮包(update)
7z u files.zip *.doc // 用當前目錄下(不含子目錄)doc文件更新壓縮包中的doc文件(若doc文件存在壓縮包中則更新,不存在則添加)
7z u files.zip *.doc -r // 用當前目錄下(遞歸子目錄)doc文件更新壓縮包中的doc文件(若doc文件存在壓縮包中則更新,不存在則添加)
遞歸子目錄選項說明:
-r 開啟遞歸子目錄。對於 e (釋放)、l (列表)、t (測試)、x (完整路徑釋放) 這些在壓縮檔案中操作的命令, 會默認使用此選項。
-r- 關閉遞歸子目錄。對於 a (添加)、d (刪除)、u (更新) 等所有需掃描磁盤文件的命令,會默認使用此選項。
-r0 開啟遞歸子目錄。但只應用於通配符。
使用sfx文件將7zip制作成安裝包
copy /b 7zsd.sfx+config.txt+Tools.7z ToolsSetup.exe // config.txt中定義安裝過程中一些提示語以及缺省配置
說明:
SFX : Description
- 7z.sfx : Windows version.
- 7zCon.sfx : Console version.
- 7zS.sfx : Windows version for installers.
-
7zSD.sfx : Windows version for installers (uses MSVCRT.dll). 更多下載
Source: http://sevenzip.sourceforge.jp/chm/cmdline/switches/sfx.htm
Config.txt : Description
;!@Install@!UTF-8!
BeginPrompt="Install Tools in subfolder [Tools]"
InstallPath="."
RunProgram="Tools\game.exe"
;!@InstallEnd@!
gui工具:7zip sfx maker
