7-Zip 是一款功能强大的开源压缩软件,支持多种压缩格式。它的核心文件和模块通常与其功能和支持的压缩格式相关。具体来说,7-Zip 的文件模块包含多个部分,每个部分执行不同的功能。以下是 7-Zip 常见的模块文件和组件:

 

LZMA/LZMA2 压缩方法的默认字典大小值及压缩等级对应关系:

字典大小(32位) 字典大小(64位) 字典大小(64位) 压缩等级 版本
8 MB 16 MB 16 MB -mx4 v24.08, v24.09
16 MB 32 MB 32 MB -mx5 : 正常 v24.08, v24.09
32 MB 64 MB 64 MB -mx6 v24.08, v24.09
32 MB 64 MB 128 MB -mx7 : 最大 v24.08, v24.09
64 MB 64 MB 256 MB -mx8 v24.09
64 MB 64 MB 256 MB -mx9 : 超级 v24.09

说明: 32位版本的 LZMA/LZMA2 字典大小不超过 64 MB。

在 7-Zip 中,字典大小压缩等级对压缩性能和压缩率有很大影响。字典大小决定了 7-Zip 在进行数据压缩时,能够在内存中保留多少数据来进行匹配和查找,影响最终的压缩效果。压缩等级(如 -mx9)决定了压缩的深度和速度。

1. 字典大小 256 MB 的优势

  • 更高的压缩比:更大的字典意味着 7-Zip 可以在更大的数据范围内进行匹配,通常能够获得更好的压缩效果。这对于处理大型文件(如视频、数据库备份等)非常有用。
  • 更适合高压缩率需求:如果你需要压缩效果尽可能好(即文件压缩率尽可能高),使用 256 MB 的字典大小会有所帮助。这是因为更大的字典能够提供更多的重复数据匹配机会,减少冗余数据。

2. -mx9 压缩等级的优势

  • 最高压缩等级-mx9 是 7-Zip 中的最高压缩等级。它会在压缩时进行更多的计算,采用更深的分析和算法,以达到最佳的压缩率。
  • 更高的计算消耗:虽然 -mx9 会生成最小的压缩文件,但它的压缩速度较慢,并且需要更多的 CPU 和内存资源。对于大文件或者多文件的压缩,-mx9 可以显著提高压缩比,但相应的时间开销也更大。

3. 字典大小 256 MB 与 -mx9 配合的优势

  • 最佳压缩效果:组合 256 MB 字典和 -mx9 压缩等级,能够最大化压缩效果,尤其是在处理大型文件时。更大的字典可以让算法在处理数据时有更多的选择,而 -mx9 则会进一步优化这些选择,从而实现更高的压缩比。
  • 适用于大型文件:对于超大文件(如大型数据库备份、大型视频文件等),使用较大的字典(256 MB)和最高压缩等级(-mx9)能最大化压缩效果,节省存储空间。

 

  • 优势:提高压缩率、适用于大型文件、最小化压缩文件大小。
  • 劣势:需要更多的计算资源(CPU、内存)、压缩时间较长。

因此,字典大小 256 MB 和 -mx9 的组合适用于那些需要极高压缩率且可以接受较长压缩时间的场景,如备份大文件或数据归档。


7z 是一种流行的压缩工具,具有丰富的命令行选项,可以帮助用户执行多种压缩、解压和管理任务。以下是 7z 命令按功能分类整理的表格:

7z 命令功能分类表

功能分类 命令选项 描述
压缩文件 a 将文件添加到压缩包中(创建新压缩包或更新已有压缩包)。
解压文件 x 解压文件到指定目录。保持文件的原始路径结构。
  e 解压文件到当前目录或指定目录,不保持原始目录结构。
查看文件内容 l 列出压缩包内的文件内容及其他详细信息。
测试压缩包 t 测试压缩包的完整性。验证压缩包中的文件是否损坏。
更新文件 u 更新已有压缩包中的文件(只会添加或替换文件,不会删除)。
删除文件 d 从压缩包中删除指定的文件。
压缩格式选择 -t{format} 指定压缩格式,如 -tzip-t7z-trar 等。
压缩级别设置 -mx{level} 设置压缩级别,level 为 0-9,0 表示无压缩,9 表示最大压缩。
分卷压缩 -v{size} 设置分卷大小(例如 -v10m 表示每个分卷大小为 10MB)。
密码保护 -p{password} 设置压缩包的密码。
加密 -mhe=on 启用加密压缩包的文件名(对于某些压缩格式,如 7z 格式)。
修改压缩设置 -m{setting} 设置压缩参数,例如 -m0=lzma2 表示使用 LZMA2 算法进行压缩。
输出文件名设置 -o{path} 指定解压后的输出路径。如果未指定,默认为当前目录。
显示帮助 -h 显示命令行帮助信息。
显示版本信息 -version 显示 7z 工具的版本信息。
强制覆盖文件 -y 在解压时自动覆盖已有文件,无需提示确认。
选择压缩算法 -m0={algorithm} 设置使用的压缩算法,例如 -m0=lzma 使用 LZMA 算法。
设置字典大小 -md{size} 设置压缩字典的大小,单位可以是 kmg(如 -md64m 设置字典大小为 64MB)。
设置压缩方式 -mx={level} 设置压缩方式,level 为 0 到 9 的整数,表示压缩的速度与压缩比,数字越大,压缩比越高。

7z 命令使用示例

  1. 压缩文件夹

    bashCopy Code
    7z a archive.7z folder/

    folder 文件夹压缩为 archive.7z

  2. 解压压缩包

    bashCopy Code
    7z x archive.7z -ooutput/

    解压 archive.7zoutput 目录,保持原始路径结构。

  3. 列出压缩包内容

    bashCopy Code
    7z l archive.7z

    列出 archive.7z 压缩包内的文件。

  4. 测试压缩包完整性

    bashCopy Code
    7z t archive.7z

    测试 archive.7z 压缩包的完整性。

  5. 使用密码压缩文件

    bashCopy Code
    7z a archive.7z folder/ -pMyPassword

    压缩 folder 文件夹并使用 MyPassword 密码保护压缩包。

  6. 分卷压缩

    bashCopy Code
    7z a -v10m archive.7z folder/

    folder 文件夹压缩成多个大小为 10MB 的分卷压缩包。

  7. 解压并强制覆盖文件

    bashCopy Code
    7z x archive.7z -y

    解压 archive.7z 到当前目录,自动覆盖已有文件。

  8. 使用 LZMA 算法进行压缩

    bashCopy Code
    7z a archive.7z folder/ -m0=lzma

    使用 LZMA 算法压缩 folder 文件夹。

7z 是一个功能强大的压缩工具,支持多种压缩和解压选项。通过不同的命令和参数,可以灵活地管理压缩文件、选择压缩格式、设置压缩级别、密码保护等。表格中提供了常见命令和选项的分类,方便快速查找和使用。


 

 

7z SFX(Self-Extracting Archive)是 7z 提供的一种功能,它允许用户创建自解压(SFX)档案。这意味着压缩文件可以直接作为可执行文件运行,无需安装任何额外的解压缩软件。SFX 归属于 7z 的扩展功能,可以通过命令行设置特定选项来生成自解压文件。

以下是 7z SFX 命令的功能分类表格:

7z SFX 命令功能分类表

功能分类 命令选项 描述
创建 SFX 文件 a -sfx 创建自解压的 7z 文件(压缩包)。
设置目标目录 -o{path} 指定解压时的目标目录。默认情况下,文件将解压到当前目录。
设置 SFX 配置文件 -sfx{config_file} 设置自定义的 SFX 配置文件。可以指定 config_file 来提供特定的解压参数。
压缩格式选择 -t{format} 指定压缩格式,如 -t7z 或其他支持的格式。
设置压缩级别 -mx{level} 设置压缩级别,level 为 0 到 9,表示压缩的速度和压缩比,数值越大,压缩比越高。
添加密码保护 -p{password} 设置压缩包的密码。
设置分卷压缩 -v{size} 设置分卷大小(例如 -v10m 表示每个分卷为 10MB)。
添加文件注释 -scs 启用或禁用文件注释。SFX 文件可以包含注释。
设置解压时的自动执行 -r 设置自动执行特定程序或命令。在解压时可自动执行指定的程序(例如 .exe 文件)。
文件覆盖选项 -y 自动覆盖现有文件,无需提示。
设置解压进度显示 -b{size} 设置进度条显示的缓冲区大小。增加此选项可优化解压时的显示效果,减少进度显示延迟。
禁用用户交互 -i{interaction} 设置 SFX 文件是否与用户交互,interaction 为 1 时禁用所有交互操作,0 则表示允许交互。
指定自解压后的启动程序 -exec={program} 在解压后自动运行指定的程序。例如,可以指定某个 .exe 文件在解压完成后自动启动。
自定义图标 -iicon={icon_file} 为生成的 SFX 文件指定图标。通常,图标文件为 .ico 格式。
设置解压提示文本 -sfx-text={message} 为 SFX 文件设置一个提示信息,该信息会在解压过程中显示给用户。
SFX 模块选择 -sfx{module} 设置使用的 SFX 模块,例如 -sfx7z.sfx 为默认的 SFX 模块。
显示帮助信息 -h 显示命令行帮助信息。
显示版本信息 -version 显示当前 7z 工具的版本信息。

7z SFX 命令使用示例

  1. 创建一个自解压压缩包

    bashCopy Code
    7z a -sfx archive.exe folder/

    folder/ 压缩成一个名为 archive.exe 的自解压文件。

  2. 创建自解压文件并指定目标目录

    bashCopy Code
    7z a -sfx -oC:\output archive.exe folder/

    创建自解压文件 archive.exe,并在解压时将文件解压到 C:\output 目录。

  3. 创建加密的自解压文件

    bashCopy Code
    7z a -sfx -pMyPassword archive.exe folder/

    创建带有密码保护的自解压文件 archive.exe,密码为 MyPassword

  4. 使用自定义图标生成自解压文件

    bashCopy Code
    7z a -sfx -iicon=icon.ico archive.exe folder/

    创建自解压文件 archive.exe,并将图标设置为 icon.ico

  5. 设置解压后自动执行程序

    bashCopy Code
    7z a -sfx -exec=setup.exe archive.exe folder/

    创建自解压文件 archive.exe,并在解压后自动执行 setup.exe 文件。

  6. 创建带有分卷的自解压文件

    bashCopy Code
    7z a -sfx -v10m archive.exe folder/

    folder/ 压缩成多个大小为 10MB 的分卷,并生成自解压文件 archive.exe

  7. 创建自解压文件并禁用用户交互

    bashCopy Code
    7z a -sfx -i1 archive.exe folder/

    创建自解压文件 archive.exe,并禁止用户交互(如不显示提示或确认窗口)。

7z SFX 是一个强大的工具,可以将压缩包转换为自解压文件。通过合适的命令和参数,用户可以创建带有密码保护、指定目标目录、自动执行程序、设置自定义图标等功能的自解压文件。表格中展示了常用的命令选项及其功能,可以帮助用户快速掌握 7z SFX 的基本使用方法。

 


7-Zip 初级使用教程大纲

1. 7-Zip 简介

  • 什么是 7-Zip?
    • 7-Zip 是一款开源的文件压缩和解压缩软件,支持多种压缩格式(如 .zip.rar.7z 等)。
    • 提供高压缩比和强大的加密功能。
  • 7-Zip 的主要特点
    • 支持多种压缩格式。
    • 强大的 .7z 格式压缩,提供更高的压缩比。
    • 支持文件加密和密码保护。
    • 免费开源软件。

2. 安装 7-Zip

  • 下载 7-Zip
  • 安装步骤
    • 运行下载的安装包。
    • 按照默认设置完成安装。
    • 安装完成后,7-Zip 会集成到右键菜单中。

3. 7-Zip 界面介绍

  • 主界面功能
    • 文件浏览器:查看和管理本地文件和文件夹。
    • 上方工具栏:常用功能快捷按钮(压缩、解压缩等)。
    • 文件操作区:显示当前文件夹中的文件和文件夹。
  • 7-Zip 右键菜单
    • 如何通过右键菜单进行快速压缩和解压操作。

4. 文件压缩

  • 压缩单个文件/文件夹
    • 选择文件或文件夹,右键点击,选择 "7-Zip" -> "添加到压缩文件..."。
    • 设置压缩格式(.7z、.zip 等)。
    • 选择压缩选项(压缩等级、分卷大小等)。
  • 设置压缩格式与压缩等级
    • .7z 格式和 .zip 格式的选择。
    • 如何选择不同的压缩等级(存储、最快、普通、最大、超压缩)。
  • 设置文件密码和加密
    • 如何给压缩包添加密码保护。
    • 设置加密选项(加密文件名等)。

5. 解压文件

  • 解压缩单个文件/文件夹
    • 选择压缩文件,右键点击,选择 "7-Zip" -> "提取到..." 或 "提取到当前文件夹"。
    • 解压到指定路径。
  • 选择解压选项
    • 是否保留文件夹结构。
    • 解压后自动删除压缩文件等。

6. 高级功能简介

  • 分卷压缩
    • 如何将大文件分割成多个小压缩包(例如:100MB 一卷)。
  • 文件自解压(SFX)
    • 创建可自解压的 .exe 文件,方便无需安装软件即可解压。

      7-Zip 提供了创建自解压(SFX,Self-Extracting Archive)文件的功能,这样用户无需安装 7-Zip 或其他解压软件即可解压文件。自解压文件是一个可执行的 .exe 文件,包含压缩的内容和解压逻辑,适用于 Windows 环境。

      以下是创建自解压文件(SFX)的步骤:

      1. 创建标准的压缩包

      首先,创建一个压缩包,可以使用 7-Zip 创建 .7z 格式的压缩文件。你可以通过以下命令将文件压缩为 .7z 格式:

      bashCopy Code
      7z a archive.7z file1.txt file2.txt

      这个命令将 file1.txtfile2.txt 压缩成一个名为 archive.7z 的文件。

      2. 选择 SFX 模块

      7-Zip 使用特殊的 SFX 模块(自解压模块)来生成可执行文件。在创建自解压文件时,7-Zip 会将一个小的可执行程序(SFX 模块)和压缩的内容打包成一个 .exe 文件。

      7-Zip 有不同的 SFX 模块,它们存储在 7-Zip 的安装目录下。默认情况下,你可以使用 7-Zip 自带的 7z.sfx 模块,但也可以选择其他模块来定制解压过程。

      3. 创建自解压文件

      在命令行中使用以下命令将 .7z 文件转换为自解压文件:

      bashCopy Code
      7z a -sfx7z.sfx archive.exe archive.7z
      • -sfx7z.sfx:指定 SFX 模块。7z.sfx 是默认的 SFX 模块,你可以将其替换为其他 SFX 模块,取决于你希望使用的自解压功能。
      • archive.exe:自解压文件的输出文件名。
      • archive.7z:要压缩的 .7z 文件。

      执行此命令后,7-Zip 会生成一个名为 archive.exe 的自解压文件,用户只需双击即可解压文件。

      4. 定制 SFX 选项

      自解压文件的行为可以通过 SFX 配置文件进行进一步定制。你可以通过指定一个配置文件来设置解压的目标路径、解压后运行的程序等。

      创建配置文件:

      可以通过创建一个 .txt 配置文件来定制解压过程。以下是一个简单的 SFX 配置文件示例,保存为 config.txt

      txtCopy Code
      ;!@Install@!UTF-8!
      Title="My Archive"
      ExecuteFile="setup.exe"
      BeginPrompt="Do you want to extract files?"
      RunProgram="setup.exe"
      ExtractDir="C:\MyFiles"
      ;!@Install@!  
      • Title:设置解压时显示的窗口标题。
      • ExecuteFile:设置解压后要执行的程序(如果有)。
      • BeginPrompt:设置是否提示用户是否要解压文件。
      • RunProgram:解压后执行的程序。
      • ExtractDir:指定解压目标文件夹。

      使用配置文件创建 SFX 文件:

      创建配置文件后,使用以下命令生成带有配置文件的自解压文件:

      bashCopy Code
      7z a -sfx7z.sfx -m0=copy archive.exe archive.7z -i@config.txt
      • -i@config.txt:指定要使用的配置文件(config.txt)。

      此时,创建的 archive.exe 自解压文件将按配置文件中的设置执行相应的操作。

      5. 创建多个文件的自解压档案

      如果你希望将多个文件压缩并且创建一个包含所有文件的自解压文件,使用以下命令:

      bashCopy Code
      7z a -sfx7z.sfx -m0=copy archive.exe file1.txt file2.txt config.txt

      这会将 file1.txtfile2.txtconfig.txt 一并打包到 archive.exe 文件中。用户双击 archive.exe 后将会解压文件并执行配置文件中的设置。

      6. 自解压文件的默认行为

      • 默认解压路径:如果没有配置文件,自解压文件通常会将文件解压到当前用户的临时文件夹(例如 C:\Users\YourUsername\AppData\Local\Temp\)。
      • 无提示解压:如果没有设置 BeginPrompt 等提示配置,7-Zip 会直接解压文件到默认位置。

      7. 测试自解压文件

      完成后,测试生成的 .exe 文件。双击 archive.exe,确认它是否按照预期解压文件,且是否能正确执行任何需要执行的程序。

       

      通过 7-Zip 创建 SFX 文件可以使用户无需额外的解压工具即可解压文件,极大地简化了文件分享和分发的过程。使用自解压功能时,记得根据需求设置适当的压缩格式、SFX 模块和配置文件来定制解压行为。

  • 创建压缩包的命令行方式
    • 基本的命令行操作示例,适用于批处理等自动化任务。

      7-Zip 是一款强大的开源压缩工具,它支持多种压缩格式,如 .7z, .zip, .tar, .gzip 等,可以通过命令行进行压缩、解压等操作,非常适合用于批处理和自动化任务。

      以下是一些常见的 7-Zip 创建压缩包的命令行操作示例:

      1. 基本命令格式

      7-Zip 的基本命令格式如下:

      bashCopy Code
      7z <操作> <压缩文件名> <文件/目录> [<选项>]
      • <操作>:指定执行的操作(如 a:添加文件到压缩包,x:解压等)。
      • <压缩文件名>:生成的压缩文件名称。
      • <文件/目录>:要压缩的文件或目录。
      • [<选项>]:可选参数,指定其他压缩选项。

      2. 创建 .7z 格式的压缩包

      假设你有两个文件 file1.txtfile2.txt,要将它们压缩成 archive.7z

      bashCopy Code
      7z a archive.7z file1.txt file2.txt
      • a:添加(创建)压缩包。
      • archive.7z:压缩包名称。
      • file1.txt file2.txt:待压缩的文件。

      3. 创建 .zip 格式的压缩包

      如果你想创建一个 .zip 格式的压缩包,可以使用以下命令:

      bashCopy Code
      7z a archive.zip file1.txt file2.txt

      默认情况下,7-Zip会根据文件扩展名自动选择压缩格式,因此如果你指定 .zip,它会创建一个 .zip 格式的压缩包。

      4. 压缩整个文件夹

      如果你要压缩一个文件夹 folder,并将其压缩为 .7z 文件:

      bashCopy Code
      7z a archive.7z folder\

      这将压缩整个文件夹 folder,并生成名为 archive.7z 的压缩包。如果你需要递归地压缩子文件夹及文件,7-Zip 会自动处理。

      5. 使用密码加密压缩包

      为了增加压缩包的安全性,你可以设置密码保护压缩包。使用 -p 选项来设置密码:

      bashCopy Code
      7z a archive.7z file1.txt file2.txt -pMyPassword

      这将创建一个加密的 .7z 文件,密码为 MyPassword。注意,密码是明文显示在命令行中的,不建议在公共或共享的环境下使用。

      6. 选择压缩级别

      7-Zip 提供了多个压缩级别,从 -mx=0(最快、最低压缩)到 -mx=9(最慢、最高压缩)。默认压缩级别是 -mx=5。你可以通过 -mx 选项来指定压缩级别:

      bashCopy Code
      7z a -mx=9 archive.7z file1.txt file2.txt

      这会使用最高压缩级别进行压缩。

      7. 排除特定文件或文件夹

      使用 -x 选项可以排除不想压缩的文件或目录。例如,如果你希望压缩整个文件夹 folder,但是排除其中的 *.log 文件:

      bashCopy Code
      7z a archive.7z folder\ -x!*.log

      这将压缩 folder 文件夹,但不会包括所有 .log 文件。

      8. 压缩多个文件或目录

      你可以一次性压缩多个文件和文件夹:

      bashCopy Code
      7z a archive.7z file1.txt file2.txt folder\

      这将同时压缩 file1.txtfile2.txtfolder 文件夹。

      9. 指定压缩包的存储路径

      你可以指定压缩包存储的路径,例如将压缩包保存到 D:\Backup\ 目录:

      bashCopy Code
      7z a D:\Backup\archive.7z file1.txt file2.txt

      这将把 archive.7z 创建到 D:\Backup\ 目录中。

      10. 分卷压缩(分卷压缩包)

      如果你希望将压缩包分割成多个小文件(例如每个分卷 100MB),可以使用 -v 选项来指定分卷大小:

      bashCopy Code
      7z a -v100m archive.7z file1.txt file2.txt

      这将会创建多个小文件,每个文件最大为 100MB(例如 archive.7z.001, archive.7z.002 等)。

      11. 压缩时使用详细输出

      如果你想在压缩过程中显示详细信息,可以使用 -bb 选项设置详细程度:

      bashCopy Code
      7z a -bb3 archive.7z file1.txt file2.txt

      -bb3 会显示最详细的输出信息。

      12. 指定压缩格式

      除了 .7z 格式外,7-Zip 还支持其他格式,如 .zip.tar.gzip 等。例如,要创建一个 .tar 格式的压缩包:

      bashCopy Code
      7z a archive.tar file1.txt file2.txt

      13. 使用批处理脚本

      你可以将这些命令集成到批处理文件(.bat)中,自动化执行压缩任务。例如,创建一个批处理文件 compress.bat,将文件夹中的所有 .txt 文件压缩到一个 .7z 文件中:

      Copy Code
      @echo off
      7z a archive.7z *.txt
      pause

      运行此批处理文件时,它会压缩当前目录中的所有 .txt 文件。


       

      7-Zip 的命令行操作非常灵活,适用于批处理、自动化任务和文件管理。常用的命令有:

      • a:添加文件到压缩包(创建压缩包)。
      • -p:设置密码保护。
      • -mx:设置压缩级别。
      • -x:排除指定文件。
      • -v:分卷压缩。
      • -bb:设置详细输出。

      这些命令可以通过批处理、脚本等方式轻松实现自动化操作。

7. 常见问题与解决

  • 无法解压某些格式的压缩包
    • 检查文件是否损坏,使用最新版本的 7-Zip。
  • 忘记压缩包密码怎么办
    • 提示:7-Zip 不提供恢复密码的功能,需谨慎设置密码。
  • 文件损坏或未完全解压
    • 如何检查压缩包是否完整,如何修复损坏的压缩文件(使用 .7z 格式时有修复选项)。

8. 总结与建议

  • 7-Zip 的优势
    • 高效的压缩和解压缩性能,支持多种格式。
    • 强大的加密和分卷功能。
    • 免费开源,适合个人和企业用户。
  • 建议
    • 在需要更高压缩比的场合,推荐使用 .7z 格式。
    • 始终为重要的文件压缩包设置密码保护,增强文件安全性。

附录:

  • 常见压缩格式简介
    • .zip.tar.rar.7z 等格式的简要对比。
  • 7-Zip 快捷键
    • 列出常用的快捷键,提高工作效率。

这个教程大纲适合初学者快速上手 7-Zip,掌握基本的文件压缩与解压功能,并且能了解一些实用的进阶功能。


 

7-Zip 中级使用教程大纲

1. 7-Zip 中级功能简介

  • 回顾基础功能
    • 压缩、解压、设置密码等基本操作的快速回顾。
  • 中级使用目标
    • 掌握更复杂的压缩选项、分卷压缩、文件加密和其他高级设置。

2. 高级压缩选项

  • 选择压缩格式与压缩级别
    • .7z 格式与 .zip 格式的区别及应用场景。
    • 自定义压缩级别:存储、最快、普通、最大、超压缩。
    • 设置压缩字典大小与块大小,提高压缩效果。
  • 设置压缩模式
    • 压缩模式 vs. 加密模式。
    • 如何选择不同的算法(如 LZMA2、PPMd、BZip2)。
    • 适用于不同文件类型的最佳压缩算法。

3. 分卷压缩与拆分文件

  • 分卷压缩简介
    • 为什么分卷压缩有助于大文件的传输和存储。
      分卷压缩将大文件拆分成多个较小的文件,使得每个压缩文件的大小可以更容易地管理、传输和存储。对于传输,许多邮件服务和网络传输工具对文件大小有限制,分卷压缩可以避免这些限制。对于存储,分卷压缩能更好地适应存储设备的容量限制,且便于在需要时逐个提取文件。
    • 设置分卷大小(例如 10MB、100MB)。
  • 如何创建多个分卷压缩文件
    • 在压缩设置中选择分卷大小。
    • 如何自动拆分大型文件,避免传输限制(如电子邮件附件、云存储限制)。

      7-Zip 通过分卷压缩功能可以自动将大型文件拆分成多个较小的压缩包,从而避免单个文件超出传输或存储的限制。这对于通过电子邮件发送大文件、上传到云存储或使用某些网络协议传输数据时尤其有用。以下是如何使用 7-Zip 自动拆分大型文件的步骤:

      1. 分卷压缩命令

      使用 7z 命令时,您可以通过 -v 选项来指定每个分卷的大小。这将让 7-Zip 在创建压缩包时自动拆分文件。

      语法:

      bashCopy Code
      7z a <压缩文件名> <要压缩的文件> -v<分卷大小>

      2. 示例命令

      假设你有一个大型文件 largefile.iso,并希望将其压缩成多个分卷,每个分卷的大小为 100MB:

      bashCopy Code
      7z a largefile.7z largefile.iso -v100m

      这条命令的含义是:

      • largefile.7z:压缩包的基础名称。
      • largefile.iso:要压缩的文件。
      • -v100m:将压缩包分割成每个分卷最大 100MB。

      执行此命令后,7-Zip 会创建多个压缩文件(例如 largefile.7z.001, largefile.7z.002, largefile.7z.003 等)。每个分卷的大小约为 100MB,最后一个分卷可能会小于指定大小。

      3. 分卷大小的选择

      • m:表示 MB(兆字节)。例如 100m 表示每个分卷 100MB。
      • g:表示 GB(千兆字节)。例如 1g 表示每个分卷 1GB。
      • k:表示 KB(千字节)。例如 1024k 表示每个分卷 1024KB(1MB)。

      例如,如果你希望每个分卷的大小为 500MB,可以使用如下命令:

      bashCopy Code
      7z a largefile.7z largefile.iso -v500m

      4. 分卷压缩的优点

      • 避免传输限制:许多文件传输服务(如电子邮件、FTP 或一些云存储)对于文件大小有限制,分卷压缩可以确保文件在这些限制内。
      • 便于存储:如果存储介质(如硬盘或U盘)有单个文件大小的限制,分卷压缩可以让文件适应存储要求。
      • 方便恢复:在恢复文件时,只需要第一个分卷文件(如 largefile.7z.001)和所有后续的分卷(largefile.7z.002largefile.7z.003 等),7-Zip 会自动识别并恢复完整的文件。

      5. 解压分卷压缩包

      当你想要解压这些分卷时,只需指定第一个分卷文件(如 largefile.7z.001)。7-Zip 会自动检测其他分卷并将它们合并解压。

      bashCopy Code
      7z x largefile.7z.001

      这样,7-Zip 会从 largefile.7z.001 开始解压,并将所有分卷合并成原始文件。

      6. 实际应用场景

      • 电子邮件附件:很多电子邮件服务对于单个附件的大小有上传限制(通常为25MB左右)。通过分卷压缩,你可以将大文件分割成多个小的压缩包,从而可以通过邮件发送。
      • 云存储:某些云存储服务可能对单个文件的上传大小有限制,分卷压缩能确保大文件顺利上传。
      • FTP传输:有些FTP服务器可能限制每次上传的文件大小,分卷压缩可避免超出限制。

       

      7-Zip 的分卷压缩功能通过指定每个压缩包的大小,能够有效地将大型文件拆分为多个小文件,从而避开传输或存储中的文件大小限制。你可以根据需要调整每个分卷的大小,以适应不同的传输和存储环境。

  • 合并分卷文件
    • 使用 7-Zip 合并分卷压缩文件,恢复原始文件。

4. 文件加密与密码保护

  • 文件加密基础
    • 通过密码保护压缩包,确保文件的安全性。
    • 加密与压缩:在压缩时启用加密选项(AES-256)。
  • 加密选项的配置
    • 设置压缩包密码(大小写字母、数字、符号)。
    • 加密文件名和内容的区别,如何选择加密选项。
  • 恢复密码保护的压缩包
    • 忘记密码时的解决思路(需要第三方工具)。
    • 如何确保密码管理安全,避免遗忘密码。

5. 文件自解压(SFX)功能

  • 创建自解压压缩包
    • 为什么使用自解压功能?无需安装 7-Zip 即可解压。

      使用自解压(Self-Extracting Archive, SFX)功能的好处是,它允许你在没有安装任何解压软件的情况下,直接解压缩文件。自解压档案是一种特殊的压缩文件,它包含了一个小型的解压程序(通常是基于 7-Zip 或其他压缩工具的),用户只需要双击文件,就可以自动解压。

      为什么使用自解压功能?

      1. 无需安装解压软件

        • 如果接收方的计算机上没有安装 7-Zip 或其他解压软件,使用自解压功能就能避免这个问题。自解压文件可以在没有安装任何解压工具的情况下运行,直接解压出内容。
      2. 方便传输

        • 自解压文件不依赖于特定的操作系统或解压工具,特别适合那些不熟悉如何安装或使用压缩工具的用户。这对于非技术用户或需要向不熟悉操作的用户提供文件时特别有用。
      3. 简单的用户体验

        • 用户只需双击自解压文件,它会自动启动解压过程,甚至可以设置解压路径、文件覆盖等选项。这使得整个解压过程变得非常简单。
      4. 支持自定义解压选项

        • 自解压档案通常可以预设目标路径和其他选项。例如,文件可以解压到指定的文件夹,或根据文件名自动选择路径。你可以在创建自解压档案时设置这些选项。
      5. 更方便的文件传输

        • 自解压档案将所有内容打包在一个文件中,不需要额外的工具即可解压,尤其适合通过电子邮件、USB 或其他方式传输。

      如何创建 7-Zip 自解压档案?

      使用 7-Zip 创建自解压文件也非常简单,以下是步骤:

      1. 选择文件

        • 在文件资源管理器中选择你要打包为自解压档案的文件或文件夹。
      2. 右键点击文件

        • 右键点击选中的文件,选择 “7-Zip” > “添加到压缩文件...”
      3. 设置压缩选项

        • 在弹出的对话框中,选择压缩格式为 “7z”,然后勾选 “创建自解压档案”
      4. 选择压缩类型和其他选项

        • 在“自解压”框中,选择你想要的解压路径或其他解压设置。可以设置解压目录、文件覆盖等。
      5. 开始创建

        • 点击“确定”按钮,7-Zip 将会开始创建一个 .exe 文件(Windows 环境下),这是一个自解压档案。

       

      使用自解压功能的最大好处是 简化解压过程,让最终用户无需额外的工具或安装步骤,只需双击文件即可解压。特别适合那些没有安装 7-Zip 或其他压缩软件的用户,或者那些希望提供一种更简便的解压体验的场景。

    • 如何通过 7-Zip 创建自解压 .exe 文件。

      通过 7-Zip 创建自解压 .exe 文件非常简单,以下是详细步骤:

      步骤 1:安装 7-Zip

      如果你还没有安装 7-Zip,可以访问 7-Zip 官方网站 下载并安装适合你操作系统的版本。

      步骤 2:选择文件或文件夹

      1. 打开 文件资源管理器,找到你要打包的文件或文件夹。
      2. 选中这些文件或文件夹(你可以使用 Ctrl 或 Shift 键选择多个文件)。

      步骤 3:右键点击文件

      在选中的文件上点击右键,选择 “7-Zip” 菜单,然后选择 “添加到压缩文件...”

      步骤 4:设置压缩选项

      1. 在弹出的 “添加到压缩文件” 对话框中,你会看到多个选项。
      2. 压缩格式选择“7z”(默认)。
      3. 勾选 “创建自解压档案(SFX)”。这将使 7-Zip 创建一个自解压 .exe 文件,而不是普通的 .7z 压缩文件。

      步骤 5:配置自解压选项

      1. “自解压选项” 部分,你可以选择解压路径等设置。

        • 解压路径:可以设置自解压档案的默认解压目录。默认情况下,它将会解压到当前用户的目录,或者可以指定一个路径。
        • 如果你希望用户解压时自动指定文件夹,可以在 “解压到” 输入框中设置目标文件夹路径。
      2. 你还可以点击 “其他” 按钮来配置一些高级选项,例如:

        • 设置密码(如果需要)。
        • 设置是否覆盖现有文件。
        • 控制压缩级别等。

      步骤 6:选择压缩设置

      1. 文件格式:可以保持默认的 .7z 格式。
      2. 压缩级别:选择你需要的压缩级别,通常 “正常” 或 “最优” 即可。
      3. 文件分卷:如果文件较大,可以选择分卷压缩(这个对于大文件来说很有用)。

      步骤 7:创建自解压档案

      1. 设置好以上选项后,点击 “确定”
      2. 7-Zip 会开始生成一个自解压 .exe 文件。文件生成完毕后,你会看到一个 .exe 文件(比如 yourfile.exe)。

      步骤 8:分发自解压文件

      1. 现在你可以将这个 .exe 文件通过电子邮件、USB 驱动器、FTP 等方式发送给其他人。
      2. 接收者只需双击该 .exe 文件,7-Zip 会自动解压文件到指定目录,无需额外的解压软件。

      注意事项:

      • Windows 环境:自解压 .exe 文件主要用于 Windows 系统,接收者需要在 Windows 系统上运行。
      • 解压目录:接收者可以通过界面选择解压路径,或者使用默认路径。

       

      通过 7-Zip 创建自解压 .exe 文件,可以方便地将压缩文件分享给不熟悉解压软件的用户,而不需要他们额外安装任何工具。只需要双击 .exe 文件,内容就会自动解压。

  • 自定义 SFX 安装界面
    • 设置自解压文件的安装路径、自动执行命令等。

      7-Zip 提供了自定义 SFX(自解压档案)功能,使得你可以在创建自解压档案时设置安装路径、自动执行命令、添加图形界面等。下面将详细介绍如何通过 7-Zip 创建一个带有自定义安装界面、自定义路径和自动执行命令的 SFX 文件。

      步骤 1:准备文件

      首先,确保你已经准备好了需要压缩的文件或文件夹。然后,按照以下步骤创建自解压档案。

      步骤 2:创建 SFX 压缩档案

      1. 选中你要打包的文件或文件夹,右键点击并选择 “7-Zip” > “添加到压缩文件...”
      2. 在弹出的对话框中,设置压缩文件格式为 7z,并勾选 “创建自解压档案(SFX)” 选项。
      3. 你可以选择一个合适的文件名和保存位置,点击 “确定” 创建压缩文件。

      此时,虽然文件已经创建了 SFX 文件,但默认的自解压界面并不支持很多自定义选项,需要手动添加 SFX 配置。

      步骤 3:自定义 SFX 配置

      7-Zip 的 SFX 文件支持通过一个 配置文件 来定制安装过程。这个配置文件通常是一个文本文件(例如 config.txt),用于设置安装路径、自动执行命令等。

      配置文件结构

      1. 配置文件:SFX 文件使用一个名为 config.txt 的配置文件来定义自解压的行为。你需要将此文件与其他压缩文件一起打包成一个 .7z 文件。

        配置文件内容示例

        iniCopy Code
        ; 自动解压和执行安装
        ; 该文件应命名为 config.txt,并与 7z 文件一起打包
        
        ; 安装路径
        InstallPath=C:\MyApp
        
        ; 解压后自动执行的命令(例如执行安装程序)
        RunProgram=setup.exe
        
        ; 关闭 SFX 窗口(默认情况下会显示解压过程的进度条)
        Silent=1
        
        ; 创建快捷方式(根据实际需求设置)
        CreateShortcuts=1
        ShortcutName=MyApp
      2. 配置选项说明

        • InstallPath:设置文件解压到的默认路径。可以使用绝对路径,如 C:\Program Files\MyApp
        • RunProgram:指定解压后自动运行的程序(如安装程序)。该程序必须与压缩文件一起存放在 .7z 内。
        • Silent:如果设置为 1,SFX 解压过程将是无声的,不显示任何界面。
        • CreateShortcuts:如果设置为 1,可以创建快捷方式。
        • ShortcutName:指定快捷方式的名称。

      示例 1:简单的自动安装

      iniCopy Code
      ; 配置文件示例:自动安装
      InstallPath=C:\Program Files\MyApp
      RunProgram=setup.exe
      Silent=1

      示例 2:带有图标和快捷方式的 SFX

      iniCopy Code
      ; 配置文件示例:带图标和快捷方式
      InstallPath=C:\MyApp
      RunProgram=setup.exe
      Silent=1
      CreateShortcuts=1
      ShortcutName=MyApp
      IconFile=myapp.ico

      步骤 4:创建 SFX 包

      1. 创建一个文件夹,将你的压缩文件和 config.txt 文件放入同一文件夹。
      2. 使用 7-Zip 创建一个压缩包,确保将文件打包为 .7z 格式。
      3. 将压缩包文件及 config.txt 文件一起添加到 SFX 自解压文件中。

      步骤 5:使用 SFX 创建自解压文件

      1. 选择要创建的文件夹,右键点击并选择 “7-Zip” > “添加到压缩文件...”
      2. 在对话框中,设置 “压缩格式” 为 7z,勾选 “创建自解压档案(SFX)”
      3. 点击 “设置” 按钮,在弹出的 SFX 设置对话框中选择 “高级” 标签页。
      4. 在 “自解压选项” 部分,选择 “设置 SFX 配置文件”,然后选择你刚刚创建的 config.txt 文件。
      5. 完成设置后点击 “确定”,7-Zip 会将你的文件打包成一个包含 SFX 配置文件的自解压 .exe 文件。

      步骤 6:测试自解压文件

      创建完成后,你会得到一个 .exe 文件。双击该文件进行测试,确认解压到指定路径,并自动执行你设置的程序。

      注意事项

      • 路径中包含空格:如果安装路径或文件夹名称中包含空格,务必将路径加上引号,例如 InstallPath="C:\Program Files\MyApp"
      • 相对路径和绝对路径:确保 RunProgram 中的文件路径是相对路径(例如 setup.exe),或者在解压后完整的绝对路径。
      • 兼容性:7-Zip 创建的 SFX 文件主要适用于 Windows 操作系统。

       

      通过配置 config.txt 文件,你可以自定义 SFX 文件的安装路径、自动执行命令、设置静默安装等功能。这对于希望创建自定义安装程序的用户非常有用,可以避免繁琐的安装步骤,自动化整个安装过程。

  • 分卷 SFX 自解压文件
    • 将自解压文件与分卷压缩结合,创建可拆分并自动解压的 .exe 文件。

      要将 分卷压缩SFX 自解压 结合起来创建一个 可拆分并自动解压的 .exe 文件,你可以通过 7-Zip 来实现。以下是创建 分卷 SFX 自解压文件 的详细步骤:

      步骤 1:准备文件

      确保你已经准备好需要分卷压缩的文件或文件夹。

      步骤 2:创建分卷压缩文件

      1. 右键点击 需要分卷压缩的文件或文件夹,选择 7-Zip -> 添加到压缩文件...
      2. 在弹出的对话框中,设置压缩格式为 7z
      3. 设置 分卷压缩。在“分卷大小”框中,输入你希望每个压缩卷的大小。例如,如果你希望每个文件卷大小为 100MB,输入 100M
      4. 在“压缩方法”下选择适合的压缩方式,通常选择 LZMA 或 LZMA2 来获得较好的压缩效果。
      5. 勾选 创建自解压档案(SFX) 选项。
      6. 点击 “确定”,7-Zip 将开始创建分卷压缩文件,同时每个卷都会生成一个 .exe 格式的自解压文件。

      步骤 3:创建 SFX 配置文件

      为了让 SFX 文件在解压时自动执行,或者指定特定的解压路径,我们需要创建一个 配置文件 (config.txt)。

      配置文件示例:

      iniCopy Code
      ; 自动解压到指定路径并运行安装程序
      InstallPath=C:\MyApp
      RunProgram=setup.exe
      Silent=1
      • InstallPath:指定解压后的安装路径。
      • RunProgram:解压后自动执行的程序(例如 setup.exe)。
      • Silent=1:使解压过程不显示界面(即“静默”解压)。

      配置文件更多选项:

      你可以根据需要增加更多的设置选项:

      • IconFile=icon.ico:设置 SFX 自解压文件的图标。
      • Overwrite=1:如果已存在文件,自动覆盖。
      • CreateShortcuts=1:如果需要创建快捷方式,可以添加此设置。

      步骤 4:将配置文件与分卷文件一起打包

      1. 将你刚才生成的分卷文件(例如 archive.7z.001archive.7z.002 等)和 config.txt 文件放入同一个文件夹。
      2. 你需要确保配置文件的名称是 config.txt,并且与第一个分卷文件(即 .7z.001)在同一目录下。

      步骤 5:创建分卷自解压文件

      由于 7-Zip 默认只支持将整个文件压缩成一个 .exe 文件,而不能直接将分卷文件打包为一个 SFX 文件,你需要采取一种不同的方式。

      你可以手动将分卷文件和配置文件打包成一个自解压文件,或者使用批处理脚本来实现分卷文件的自动解压。具体操作如下:

      使用批处理脚本创建 SFX 自解压文件:

      1. 创建一个批处理文件(例如 create_sfx.bat),内容如下:

        batCopy Code
        @echo off
        setlocal
        set 7zipPath="C:\Program Files\7-Zip\7z.exe"
        set archiveName="archive.7z.001"
        set configFile="config.txt"
        set sfxFile="my_sfx_installer.exe"
        
        "%7zipPath%" a -t7z -sfx7z.sfx "%sfxFile%" "%archiveName%" "%configFile%"
        • archive.7z.001:分卷文件的第一部分。
        • config.txt:你的配置文件。
        • my_sfx_installer.exe:创建的最终 SFX 自解压文件名。
      2. 运行这个批处理文件,7-Zip 会自动将你的分卷文件和配置文件结合,生成一个 分卷 SFX 自解压文件

      步骤 6:测试自解压分卷文件

      生成的 my_sfx_installer.exe 就是一个完整的、可以自解压的分卷文件。你可以双击它进行测试,看看它是否会:

      • 自动解压到指定路径(由 config.txt 中的 InstallPath 指定)。
      • 自动执行你设置的程序(例如 setup.exe)。

      注意事项:

      • 分卷文件顺序:分卷文件必须按正确的顺序进行解压,否则会出现错误。确保 .7z.001.7z.002 等文件保持顺序。
      • 路径设置:确保 SFX 配置中的路径正确,特别是如果你希望将文件解压到带有空格的路径时,路径必须加上引号。
      • 兼容性:确保目标机器上已安装 7-Zip,或者使用默认的 7-Zip SFX 模块进行解压。

       

      通过上述步骤,你可以创建一个 分卷 SFX 自解压文件,这意味着你可以将大文件分成多个小的自解压文件,每个文件都能自动解压并执行安装或其他程序。这个方法在需要分发大文件时尤其有用,能够提高文件的可管理性和兼容性。

6. 命令行操作(CLI)

  • 7-Zip 命令行基础
    • 通过命令行实现压缩和解压。
    • 基本的命令格式:7z a(添加压缩)、7z x(解压文件)等。
  • 自动化任务与批处理
    • 使用命令行进行批量压缩和解压。
    • 编写批处理脚本进行文件管理,定时压缩和解压任务。
  • 命令行参数详解
    • 常用命令行参数(如压缩级别、文件格式、加密等)的使用示例。
    • 实现特定需求的命令行组合。

7. 7-Zip 与其他工具的协作

  • 与 Windows 资源管理器集成
    • 如何通过 Windows 资源管理器更高效地使用 7-Zip。
    • 快捷操作:右键菜单、拖放操作。
  • 与其他压缩软件的兼容性
    • 如何使用 7-Zip 打开和处理 .rar.tar 等格式的压缩包。
    • 与 WinRAR、WinZip 的兼容性分析。
  • 多平台使用(Windows 和 Linux)
    • 如何在 Linux 上使用 7-Zip,通过命令行操作进行压缩和解压。
    • 在 Linux 环境中安装 7-Zip(apt-get install p7zip-full)。

8. 文件恢复与修复

  • 检查损坏的压缩包
    • 识别和修复损坏的 .7z 文件(需要事先启用恢复记录)。
  • 使用 7-Zip 修复损坏的文件
    • 如何利用 7z 命令行进行文件修复。
    • 修复丢失数据时的其他注意事项(如 CRC 错误、损坏的分卷等)。

9. 压缩包的管理与搜索

  • 多重压缩包的批量管理
    • 使用 7-Zip 管理大量压缩文件(批量解压、批量压缩)。
    • 按日期、大小、名称等排序压缩包,提高文件管理效率。
  • 使用 7-Zip 搜索压缩包内容
    • 搜索压缩包中的特定文件(例如:通过命令行或图形界面)。
    • 提取特定文件而不是解压全部内容。

10. 常见问题与解决方案

  • 压缩包无法打开或解压
    • 排查常见问题:损坏的压缩包、不支持的格式等。
  • 密码保护问题
    • 如何管理和恢复遗失的密码(请注意,7-Zip 本身不提供密码恢复功能)。
  • 压缩速度慢的原因
    • 优化压缩速度的方法:调整字典大小、压缩格式选择、使用更合适的算法。

11. 总结与进阶建议

  • 适用场景的选择
    • 针对不同需求(传输、大文件存储、加密等)选择最佳的压缩设置。
  • 进阶技巧
    • 如何结合 7-Zip 的命令行、自动化脚本以及批量操作来提高工作效率。
  • 学习资源推荐
    • 继续深入学习 7-Zip 的官方文档与社区资源,掌握更高级的技巧。

这个中级教程大纲将帮助用户深入理解 7-Zip 的功能,提升其压缩、解压、加密等操作的效率,适合有一定基础的用户进一步掌握更复杂的使用技巧。


7-Zip 高级使用教程大纲

1. 高级功能概述

  • 回顾基础与中级功能
    • 简要回顾文件压缩、解压、分卷、加密等基本功能。
  • 高级使用目标
    • 深入掌握命令行操作、自动化脚本、定制压缩策略等高级技巧。
    • 了解如何优化压缩算法、提升压缩效率、保护数据安全。

2. 优化压缩策略

  • 选择最优压缩格式
    • .7z vs .tar vs .zip: 适用场景分析,选择最佳格式。
    • 理解不同压缩格式对存储和传输的影响。
  • 调整压缩参数
    • 字典大小:如何根据文件类型调整字典大小以优化压缩效果。
    • 压缩块大小:调整块大小对压缩速度和效率的影响。
    • 压缩算法选择:LZMA2、PPMd、BZip2等算法的使用场景及优缺点分析。
    • 预处理选项:如何利用预处理功能提高某些类型文件(如文本、日志文件等)的压缩效率。

3. 命令行操作与自动化

  • 7-Zip 命令行工具概述
    • 7z 命令行工具的基本语法与结构。
    • 常用命令行操作实例:压缩、解压、更新文件等。
  • 批量操作与脚本自动化
    • 使用批处理脚本(.bat)进行多文件批量压缩。
    • 创建定时任务:如何利用 Windows 任务调度或 Linux cron 实现自动化压缩和解压。
    • 高级脚本编写:结合条件判断、循环操作等,批量处理不同类型的文件。
  • 日志记录与错误处理
    • 如何启用命令行操作日志,便于调试和查看任务执行情况。
    • 错误处理机制:捕获压缩/解压错误并生成日志文件。

4. 加密与安全性增强

  • AES-256 加密详解
    • 为什么 AES-256 是推荐的加密方法。
    • 如何在命令行中设置强密码加密(如强制密码复杂度要求、加密文件名等)。
  • 加密压缩包的安全性分析
    • 文件加密与加密压缩包的安全性差异。
    • 对比 7-Zip 与其他压缩工具(如 WinRAR)在加密上的优劣。
  • 加密与文件完整性验证
    • 启用文件校验和(如 SHA-256)以保证数据的完整性。
    • 使用 7-Zip 进行压缩包的完整性验证,避免数据丢失或损坏。
  • 加密存档的多重保护策略
    • 设置多重加密层,确保文件在不同传输渠道中的安全。

5. 分卷压缩与大文件处理

  • 分卷压缩的高级应用
    • 如何优化分卷压缩的策略,确保每卷文件的大小适合不同的传输介质(如硬盘、光盘、网络等)。
    • 高效地处理大文件(> 4GB)的压缩与拆分。
  • 分卷压缩文件的恢复与修复
    • 恢复分卷压缩文件的丢失部分。
    • 如何修复损坏的分卷压缩文件(需要恢复记录的支持)。
  • 使用命令行进行分卷压缩
    • 在命令行中精确控制分卷的大小,结合多个命令执行压缩任务。

6. 自解压文件(SFX)高级功能

  • SFX 文件创建与自定义
    • 创建高级自解压文件:结合自解压文件和自定义安装参数。
    • 使用 7-Zip 自解压文件生成器创建带有安装向导界面的压缩包。
  • 配置 SFX 文件自动解压
    • 设定 SFX 自动解压后的路径、文件夹结构与执行顺序。
    • 在 SFX 文件中加入预设的解压命令或批处理脚本(例如,自动解压并执行某个程序)。
  • 分卷 SFX 文件
    • 将自解压功能与分卷压缩结合,处理大型文件的自解压需求。
  • 自解压包的安全性问题
    • 如何为自解压文件设置密码保护与加密,防止未经授权的访问。

7. 高效处理大量文件与大规模数据

  • 批量解压与多线程支持
    • 如何利用 7-Zip 对大量小文件进行批量解压。
    • 配置多线程操作,提高处理大量数据时的效率。
  • 大规模数据备份与压缩
    • 针对企业或数据中心的备份需求,如何通过 7-Zip 优化压缩效率。
    • 使用压缩分卷策略和加密策略保护备份数据。
  • 结合云存储的压缩操作
    • 将压缩包直接上传到云存储服务(如 Dropbox、Google Drive、OneDrive)。
    • 7-Zip 与云存储工具的协作,自动上传和同步压缩文件。

8. 7-Zip 与系统集成

  • 与 Windows 操作系统深度集成
    • 深入集成 7-Zip 到 Windows 资源管理器右键菜单,添加自定义快捷操作。
    • 扩展 7-Zip 支持的文件格式与特殊任务。
  • 与 Linux 系统集成
    • 在 Linux 环境中优化 7-Zip 的使用(通过命令行处理压缩、解压等)。
    • 配置 Linux 系统的定时任务与批处理,执行自动化压缩任务。
  • 与其他工具的协作
    • 7-Zip 与其他开源压缩工具(如 WinRAR、gzip、tar)结合使用。
    • 如何在跨平台环境下处理压缩文件。

9. 高阶命令行技巧与参数详解

  • 7-Zip 命令行参数深度解析
    • 详解命令行中每个选项的功能与应用,包括压缩级别、文件更新、密码保护等。
  • 正则表达式与命令行配合
    • 如何利用正则表达式在 7-Zip 命令行中批量处理文件名、文件夹路径。
  • 高级批处理与脚本示例
    • 结合多个命令行操作编写高效的批处理脚本,实现批量压缩、解压、文件格式转换等。

10. 常见高级问题与解决方案

  • 压缩效率与性能优化
    • 如何评估不同压缩算法的性能,选择最适合的方案。
    • 调整内存、CPU、硬盘缓存等系统资源,优化 7-Zip 的压缩速度。
  • 修复损坏的压缩包
    • 使用 7z 命令行工具修复部分损坏的文件或分卷压缩包。
  • 压缩文件的完美恢复
    • 如何确保压缩文件在传输过程中不丢失数据,并且实现完美恢复。
  • 防止压缩包泄露和破解
    • 密码强度要求、加密与解密的安全最佳实践。

11. 总结与未来进阶学习

  • 7-Zip 高级功能总结
    • 总结各种高级功能的最佳应用场景,帮助用户根据具体需求选择合适的压缩策略。
  • 进阶技巧分享
    • 持续学习和实践 7-Zip 的最新版本和功能,关注开源社区的更新与讨论。
  • 扩展学习资源推荐
    • 深入了解压缩算法、数据安全与文件加密等领域,推荐高级课程与文献。

这个高级教程大纲旨在帮助用户充分利用 7-Zip 强大的压缩、加密、分卷、自解压等功能,结合命令行工具与脚本进行自动化和优化操作,以提升大规模文件管理和数据保护的效率。


7-Zip 专家级使用教程大纲

1. 引言与目标

  • 7-Zip概述
    • 简要回顾7-Zip的核心功能和优势:高压缩比、开源、多平台支持。
    • 专家级用户目标:掌握深入的压缩算法、优化策略、自动化脚本、加密与安全机制等。
  • 专家级使用的需求
    • 如何处理大规模数据、优化资源使用、提高压缩效率。
    • 实现批量化、自动化的压缩与解压任务。

2. 深度压缩算法与优化策略

  • 理解压缩算法
    • LZMA / LZMA2:如何根据文件类型和大小调整压缩参数(字典大小、块大小、压缩等级)。
    • PPMd:适用于文本文件的压缩方案,如何利用PPMd优化压缩。
    • BZip2LZ4Zstandard等:适用场景及性能分析。
  • 压缩比优化
    • 文件预处理:如何先对文件进行预处理(如文本文件去空格、图像文件去冗余等),提高压缩比。
    • 高效压缩技巧:适合不同类型数据(视频、图片、文档)的压缩方法。
  • 压缩速度与资源管理
    • 如何在速度和压缩比之间做出平衡,减少 CPU 和内存消耗。
    • 了解硬件资源对压缩性能的影响,如何配置大内存或多核 CPU 环境。

3. 命令行高级用法

  • 7z命令行参数深入解析
    • 精细控制压缩过程:-m0=BCJ2-m5=on-md=32m 等复杂参数。
    • 设置压缩算法与压缩级别:如何根据不同需求选择最适合的算法和级别。
    • 参数定制:如何为不同的操作定制压缩、解压流程,并优化命令行。
  • 自动化脚本与批处理
    • 如何通过批处理脚本(Windows .bat 或 Linux shell 脚本)来实现多任务、多目录的批量压缩与解压。
    • 使用变量、条件判断和循环结构实现灵活的文件处理。
    • 基于时间、文件大小等条件执行自动化操作。
  • 错误处理与日志记录
    • 高级错误处理:如何捕捉并处理压缩过程中的各种错误(如文件损坏、权限问题)。
    • 设置压缩和解压任务的日志记录,分析执行结果,优化后续操作。

4. 加密与安全性管理

  • AES-256 加密深度解析
    • 为压缩文件设置 AES-256 加密,如何确保加密的强度与安全性。
    • 如何自动生成复杂密码,并对压缩包进行加密,确保密钥的安全存储。
  • 加密策略与密码管理
    • 选择合适的密码策略(强密码、密码管理工具集成等)来提升压缩包的安全性。
    • 加密后的压缩文件保护:如何防止暴力破解、密码泄露等安全隐患。
  • 数据完整性验证
    • 使用 SHA-256 或其他哈希算法进行压缩包的校验,确保数据一致性。
    • 如何为压缩包添加校验信息并自动验证文件完整性。
  • 加密压缩与分卷结合
    • 对分卷压缩包实施加密与校验策略,确保在多卷压缩中的数据安全。

5. 高级分卷压缩与恢复机制

  • 分卷压缩高级策略
    • 精确控制分卷的大小和数量,如何针对不同的存储介质(如硬盘、U盘、光盘、网络传输)调整分卷策略。
    • 高效管理大文件的分卷:自动拆分大型数据集,避免文件传输时的超大文件限制。
  • 多分卷文件的恢复与修复
    • 如何在分卷压缩包损坏时进行恢复,使用7-Zip修复丢失的部分或重建损坏的卷。
    • 管理和优化分卷压缩的恢复过程:保持文件完整性与结构化。
  • 结合备份与灾难恢复
    • 分卷压缩在企业级数据备份中的应用,确保数据的安全和可恢复性。
    • 基于7-Zip进行灾难恢复操作,如何定期备份并快速恢复大规模数据。

6. 创建与管理自解压文件(SFX)

  • 创建 SFX 文件
    • 使用7-Zip生成自解压文件,如何在命令行中自动化生成带有界面或无界面的自解压包。
    • 定制SFX文件的解压路径、执行顺序和解压完成后的自动操作。
  • 定制 SFX 安装程序
    • 如何将7-Zip生成的自解压文件与安装脚本结合,创建自定义的安装包。
    • 设置安装路径、文件目录结构、自动执行程序等复杂安装逻辑。
  • SFX 加密与多重验证
    • 为自解压文件添加密码保护,增强其安全性。
    • 创建加密自解压包,结合 AES-256 加密与校验和验证,确保数据传输与解压时的安全性。

7. 批量化与大规模数据处理

  • 批量解压与多线程
    • 在解压大批量文件时,如何利用多线程加速解压过程。
    • 针对多个压缩包进行批量化解压:结合命令行与脚本自动处理数千个文件。
  • 处理大规模文件(> 4GB)
    • 如何处理超大文件的压缩与解压,解决常见的文件大小限制问题(例如 FAT32 格式下的 4GB 文件限制)。
    • 高效管理大文件的压缩:结合分卷压缩、分割存储等方法。
  • 高效数据传输与压缩
    • 将大量压缩文件直接上传到云存储,如何结合7-Zip与网络工具(如 rsync、FTP、云API)自动上传压缩包。
    • 压缩与传输的最佳实践,如何在大规模文件传输中保持数据完整性和提高效率。

8. 跨平台与系统集成

  • 在 Windows 上深度集成
    • 使用 Windows 任务调度器自动化运行压缩任务,结合7-Zip命令行与Windows脚本。
    • 配置7-Zip与 Windows Shell 的集成,优化右键菜单的自定义选项,提升工作效率。
  • Linux 上的高级应用
    • 在 Linux 系统中使用 7-Zip(7zr)与 shell 脚本结合,处理大规模文件和自动化任务。
    • 配置定时任务与备份系统:如何利用 cron 作业进行定时压缩与备份操作。
  • 跨平台支持与云环境
    • 7-Zip 与其他平台(如 macOS、Linux)中的文件压缩和解压工具的兼容性与配合。
    • 在云平台(AWS、Azure、Google Cloud)上使用 7-Zip 进行数据压缩和备份。

9. 高级性能优化与资源管理

  • 内存与 CPU 资源管理
    • 如何根据计算机配置优化 7-Zip 的内存和 CPU 使用,减少资源消耗,提升压缩效率。
  • 分布式压缩与云处理
    • 如何在分布式计算环境下利用7-Zip进行大数据压缩(如Hadoop集群环境中的压缩处理)。
    • 云计算资源的使用与7-Zip的整合,如何在多个云节点上并行执行压缩任务,优化处理速度。
  • 优化多核 CPU 支持
    • 利用多核 CPU 的优势,如何设置 7-Zip 以提高并行压缩和解压任务的性能。

10. 常见问题与疑难解答

  • 压缩包损坏修复
    • 深入分析压缩包损坏的原因与常见问题,提供修复方法。
  • 高压缩比与性能瓶颈
    • 解决高压缩比带来的性能瓶颈:如何平衡速度与压缩效果。
  • 加密文件的破解与防护
    • 针对加密压缩包的破解方法与防护措施,确保数据的机密性。

11. 总结与未来发展

  • 高级技巧总结
    • 总结7-Zip专家级技巧,如何根据具体需求灵活应用不同功能。
  • **未来趋势与更新

7-Zip 软件开发工程师级使用教程大纲

1. 引言

  • 7-Zip概述
    • 7-Zip作为开源文件压缩工具的核心优势:高压缩比、支持多种格式、跨平台支持等。
    • 软件开发工程师的需求:如何利用7-Zip的底层API和命令行接口进行集成、优化、定制化功能开发。
    • 工程师级使用目标:掌握7-Zip的内部实现,开发定制化的压缩功能,集成到其他应用程序中。

2. 7-Zip 内部架构与核心组件

  • 7-Zip的基本结构
    • 介绍7-Zip的核心组件(如 7z.dll7z.exe7zr.exe7zFM.exe)。
    • 压缩算法(LZMA、LZMA2、PPMd等)如何与7-Zip的架构结合工作。
    • 7-Zip支持的格式与解压插件机制。
  • 核心压缩引擎
    • 压缩引擎的工作原理与流程:如何使用7-Zip引擎实现数据压缩与解压。
    • 自定义压缩算法的接入:如何在7-Zip的框架中添加新的压缩算法或修改现有算法。

3. 7-Zip的命令行 API

  • 命令行基本用法
    • 深入了解 7z 命令行工具的各种常用参数及其应用:压缩、解压、查看、更新、测试文件等操作。
    • 常见命令与参数解析:如 7z a7z x7z t7z u7z l 等。
  • 命令行中的脚本化
    • 如何编写批处理脚本(Windows)或Shell脚本(Linux)自动化压缩、解压及其他管理任务。
    • 高级命令行参数应用:如分卷压缩、加密压缩、多线程支持、文件过滤等。

4. 7-Zip 的 C++ API

  • 7-Zip C++ API 简介
    • 介绍7-Zip的C++ API,包括其核心类库和函数。
    • 依赖的库:如 7z.dll7zip 开源代码库,如何配置和链接这些依赖。
  • API 结构与功能
    • 重要类与接口:ICompressorIStreamCArchiveCOutStream等。
    • 如何使用C++ API进行压缩、解压、加密、设置压缩级别和算法等操作。
  • 开发定制化压缩功能
    • 定制压缩算法:如何在7-Zip中实现一个自定义压缩算法。
    • 自定义文件格式:如何扩展7-Zip以支持新的压缩格式或特殊文件类型。
  • 线程和内存管理
    • 高效利用7-Zip的多线程压缩支持,如何在API中启用并发。
    • 内存管理策略:压缩时内存使用优化、内存泄漏避免等。

5. 7-Zip的文件加密与安全机制

  • 文件加密实现
    • 介绍7-Zip支持的加密机制(如 AES-256),如何在API中设置文件加密。
    • 加密算法的使用:如何进行加密压缩和解密操作。
  • 加密与压缩结合
    • 设置加密与压缩参数的细节:如何在压缩过程中实现加密,并确保文件的安全性。
    • 密码存储与保护策略:如何避免密码泄漏,增强加密文件的安全性。
  • 数据完整性与校验
    • 使用哈希算法(如SHA-256)对压缩文件进行完整性校验。
    • 如何在解压时验证文件完整性,确保没有损坏。

6. 7-Zip格式支持与文件处理

  • 支持的文件格式
    • 详细分析7-Zip支持的文件格式(如 .7z.zip.tar.gz.bz2.xz.iso 等)。
    • 格式转换:如何使用7-Zip API进行不同格式之间的转换。
  • 自定义格式扩展
    • 如何扩展7-Zip支持的文件格式,开发自定义格式解压和压缩功能。
    • 注册自定义格式:如何将自定义的压缩格式与7-Zip关联。
  • 多卷压缩处理
    • 如何处理和管理大文件的分卷压缩与解压。
    • 自动化分卷生成与恢复机制。

7. 高级性能优化与并行处理

  • 优化压缩比与速度
    • 如何根据不同的使用场景,调整7-Zip的压缩设置(字典大小、块大小、算法选择等),实现最佳压缩比和速度。
    • 资源管理:如何高效管理CPU、内存与硬盘I/O,避免性能瓶颈。
  • 多线程优化
    • 7-Zip的多线程支持原理:如何实现并行压缩和解压。
    • 配置多线程任务:如何利用7-Zip的多核支持,提高压缩任务的吞吐量。
  • 大数据处理
    • 在高并发和大数据环境下使用7-Zip的最佳实践:如在云存储、大规模文件处理中的应用。
    • 分布式计算与7-Zip:如何在分布式环境(如Hadoop、Spark)中使用7-Zip进行高效的数据压缩。

8. 集成与自动化使用

  • 嵌入式集成
    • 如何将7-Zip的压缩和解压功能嵌入到其他应用程序中(如C++、Python、Java等)。
    • 通过DLL或API调用7-Zip的功能,自动化压缩解压流程。
  • 批处理与任务调度
    • 基于7-Zip命令行工具创建自动化批处理任务(Windows Task Scheduler、Linux Cron等)。
    • 自动化定时备份、归档与文件传输任务。
  • 脚本与配置管理
    • 如何使用脚本(如Python、Bash、PowerShell)调用7-Zip API,并处理批量文件。
    • 配置文件管理:如何在项目中实现7-Zip的配置管理,方便用户自定义压缩参数。

9. 7-Zip源代码与开发

  • 7-Zip源代码结构
    • 了解7-Zip的开源代码架构,如何获取和编译7-Zip源代码。
    • 主要模块和函数:如何阅读和理解7-Zip的核心源代码。
  • 开发与贡献
    • 如何为7-Zip贡献代码:开发新功能、修复bug、增加新算法、优化性能。
    • 7-Zip的贡献指南与开发规范。
  • 跨平台开发
    • 如何在不同操作系统(Windows、Linux、macOS)上编译和构建7-Zip。
    • 在移动平台(Android、iOS)和嵌入式系统中的应用。

10. 常见问题与调试技巧

  • 性能瓶颈分析
    • 如何排查和优化压缩过程中的性能瓶颈(如CPU、内存、磁盘I/O问题)。
    • 使用调试工具(如Visual Studio、GDB)分析7-Zip的运行时性能。
  • API错误与异常处理
    • 常见API错误处理技巧:如何避免内存泄漏、避免多线程竞争等。
    • 使用日志记录和错误报告机制,提高7-Zip集成的稳定性。

11. 总结与未来展望

  • 总结
    • 重申7-Zip工程师级使用的关键知识点:API的掌握、压缩算法的定制、性能优化等。
  • 未来发展与挑战
    • 未来7-Zip的改进方向:如更高效的压缩算法、更好的多线程支持、云端集成等。
    • 结合新兴技术(如人工智能、大数据)对7-Zip功能的可能拓展。

12. 附录

  • 7-Zip常用命令行参数汇总

    7-Zip 常用命令行参数汇总

    7-Zip 提供了丰富的命令行选项,支持多种文件压缩、解压、更新和管理操作。以下是一些常用命令行参数的汇总:

    1. 基本命令

    • 7z 或 7za
      用于执行 7-Zip 命令行操作。7za 是 7-Zip 的单一可执行文件版本,功能较少,而 7z 支持更多功能。

    2. 基本操作

    • a
      添加文件(压缩文件)。
      格式:7z a archive.7z file1 file2 ...
      例子:7z a archive.7z *.txt
      将所有 .txt 文件压缩成 archive.7z

    • x
      提取文件
      格式:7z x archive.7z
      例子:7z x archive.7z -oC:\Extracted
      archive.7z 解压到 C:\Extracted 目录。

    • e
      提取文件到当前目录(不保留文件夹结构)。
      格式:7z e archive.7z
      例子:7z e archive.7z
      提取 archive.7z 中的所有文件到当前目录。

    • t
      测试文件的完整性
      格式:7z t archive.7z
      例子:7z t archive.7z
      测试 archive.7z 是否损坏。

    • l
      列出文件内容
      格式:7z l archive.7z
      例子:7z l archive.7z
      列出 archive.7z 压缩包内的文件列表。

    • u
      更新文件(替换旧文件或添加新文件)。
      格式:7z u archive.7z file1 file2 ...
      例子:7z u archive.7z newfile.txt
      更新 archive.7z,将 newfile.txt 添加或替换原有文件。

    3. 压缩选项

    • -p
      设置密码
      格式:7z a -pMyPassword archive.7z file1
      例子:7z a -p1234 archive.7z file.txt
      使用 1234 密码对 archive.7z 进行加密压缩。

    • -m
      设置压缩方法和参数
      格式:7z a archive.7z -m0=BCJ2
      例子:7z a archive.7z -mx9
      设置压缩等级(-mx1 为最快,-mx9 为最佳压缩比)。

    • -m0=Codec
      选择压缩算法
      格式:7z a archive.7z -m0=LZMA
      例子:7z a archive.7z -m0=LZMA
      使用 LZMA 压缩算法。

    • -mx
      设置压缩级别
      格式:7z a archive.7z -mx=9
      例子:7z a archive.7z -mx=9
      设置压缩等级为 9(最佳压缩比,但速度较慢)。

    • -mmt
      启用多线程(增加压缩速度)。
      格式:7z a archive.7z -mmt=on
      例子:7z a archive.7z -mmt=on
      启用多线程压缩(如果CPU支持)。

    4. 文件管理选项

    • -aoa
      自动覆盖所有文件
      格式:7z a archive.7z -aoa file1
      例子:7z a archive.7z -aoa newfile.txt
      覆盖所有已存在文件。

    • -aos
      跳过已存在的文件
      格式:7z a archive.7z -aos file1
      例子:7z a archive.7z -aos newfile.txt
      如果文件已存在,则跳过添加该文件。

    • -audi
      为指定文件启用自解压功能
      格式:7z a -audi archive.7z
      例子:7z a -audi archive.7z file.txt
      archive.7z 创建为自解压文件(exe 格式)。

    5. 归档设置

    • -v
      创建分卷压缩文件
      格式:7z a -v5m archive.7z file1
      例子:7z a -v10m archive.7z *.txt
      将文件压缩成每卷最大为 10MB 的多个分卷。

    • -t
      指定归档类型
      格式:7z a archive.tar -tzip file1
      例子:7z a archive.zip -tzip file.txt
      设置输出归档的格式为 .zip

    6. 输出目录与文件名设置

    • -o
      指定输出目录
      格式:7z a archive.7z -oC:\output\ folder1
      例子:7z a archive.7z -oC:\output\ *.txt
      将压缩文件输出到 C:\output\ 目录。

    • -r
      递归子目录
      格式:7z a archive.7z -r folder1
      例子:7z a archive.7z -r C:\Documents\
      C:\Documents\ 目录中的所有文件递归地压缩。

    7. 其他高级功能

    • -sl
      列出归档文件的详细信息
      格式:7z l archive.7z -sl
      例子:7z l archive.7z -sl
      显示压缩包内文件的详细信息,如文件大小、修改时间等。

    • -bb
      控制日志输出的详细程度
      格式:7z a archive.7z -bb3
      例子:7z a archive.7z -bb3
      设置日志级别为 3(最详细的日志输出)。

    • -stl
      显示文件列表(与 -l 类似,但带有更多信息)
      格式:7z l archive.7z -stl
      例子:7z l archive.7z -stl
      显示更多细节,包括文件权限等。

    • -y
      自动回答所有提示为“是”
      格式:7z a archive.7z -y
      例子:7z a archive.7z -y
      自动确认所有操作,无需人工干预。

    8. 其他常用参数

    • -h--help
      显示帮助信息
      格式:7z --help
      例子:7z --help
      显示 7-Zip 的所有命令行参数及其用法。

    • -v
      显示版本信息
      格式:7z -v
      例子:7z -v
      显示7-Zip版本信息。

     

    这些是 7-Zip 最常用的命令行参数和功能选项,帮助用户根据不同需求进行文件的压缩、解压和管理。通过灵活运用这些参数,您可以大大提高批量文件操作的效率。

  • 7-Zip API参考文档

    7-Zip 提供了一个 API,允许开发者在自己的应用程序中集成文件压缩和解压缩功能。7-Zip API 是通过 COM 接口以及 DLL 库提供的,支持多种编程语言,如 C++、C#、Python 等。

    以下是 7-Zip API 的一些基本信息和使用方法的概述。请注意,7-Zip 的 API 文档并不像常见的库那样公开详细说明,但可以通过查看源代码和相关文档来了解其使用方法。

    1. 7-Zip API 组件

    7-Zip 的核心 API 提供了对归档格式(如 7z、zip、tar 等)的读取和写入支持。主要的接口有:

    • IInArchive:用于读取压缩文件。
    • IOutArchive:用于创建和写入压缩文件。
    • ICompress:用于压缩和解压缩数据流。

    这些接口允许开发者与 7-Zip 库交互,进行压缩和解压缩操作。

    2. 主要的 API 接口

    7-Zip 提供的 API 接口大致可以分为以下几类:

    (a) IInArchive 接口

    IInArchive 用于读取压缩文件,支持提取文件内容。

    • Open:打开归档文件。
    • Extract:提取文件到指定目录。
    • GetArchiveProperty:获取归档文件的属性。
    cppCopy Code
    class IInArchive : public IUnknown {
    public:
        virtual HRESULT Open(const wchar_t *fileName, const ICompressProgressInfo *progress) = 0;
        virtual HRESULT Extract(const UInt32 *indices, UInt32 numFiles, ISequentialOutStream *outStream, const ICompressProgressInfo *progress) = 0;
    };

    (b) IOutArchive 接口

    IOutArchive 用于创建和写入压缩文件,支持多种压缩格式的输出。

    • Create:创建一个新的归档文件。
    • UpdateItems:将文件添加到现有的归档文件中。
    • Close:关闭归档并完成压缩过程。
    cppCopy Code
    class IOutArchive : public IUnknown {
    public:
        virtual HRESULT Create(ISequentialInStream *inStream, const wchar_t *archiveName, ICompressProgressInfo *progress) = 0;
        virtual HRESULT UpdateItems(UInt32 *indices, UInt32 numFiles, const wchar_t *archiveName, ICompressProgressInfo *progress) = 0;
    };

    (c) ICompress 接口

    ICompress 接口用于数据流的压缩和解压缩,支持定制压缩算法和选项。

    cppCopy Code
    class ICompress : public IUnknown {
    public:
        virtual HRESULT Compress(ISequentialInStream *inStream, ISequentialOutStream *outStream, ICompressProgressInfo *progress) = 0;
    };

    3. 常用的 DLL 文件

    7-Zip 提供了多个 DLL 文件,其中常用的包括:

    • 7z.dll:主库文件,包含大多数归档操作和压缩算法。
    • 7zxa.dll:支持 7z 格式的额外库。

    4. 示例代码

    C++ 示例:提取 7z 文件

    下面的 C++ 代码演示了如何使用 7-Zip API 提取一个 .7z 文件的内容。

    cppCopy Code
    #include <windows.h>
    #include "7z.h"  // 包含 7-Zip API 头文件
    
    // 进行文件提取
    HRESULT ExtractArchive(const wchar_t* archivePath, const wchar_t* extractTo) {
        // 创建 7-Zip COM 对象
        CComPtr<IInArchive> archive;
        HRESULT result = CoCreateInstance(CLSID_C7zArchive, NULL, CLSCTX_INPROC_SERVER, IID_IInArchive, (void**)&archive);
        if (FAILED(result)) {
            return result;
        }
    
        // 打开归档文件
        CComPtr<ISequentialInStream> fileStream = OpenFile(archivePath);  // 打开文件
        result = archive->Open(fileStream, NULL);  // 打开归档文件
        if (FAILED(result)) {
            return result;
        }
    
        // 提取文件
        CComPtr<ISequentialOutStream> outputStream = OpenDirectory(extractTo);  // 获取输出目录流
        result = archive->Extract(NULL, 0xFFFFFFFF, outputStream, NULL);  // 提取文件
        return result;
    }

    C# 示例:压缩文件

    在 C# 中,你可以通过 P/InvokeCOM Interop 使用 7-Zip 的 API。

    csharpCopy Code
    using System;
    using System.Runtime.InteropServices;
    
    class Program
    {
        [DllImport("7z.dll")]
        public static extern int CreateArchive(string archiveName, string fileName);
    
        static void Main(string[] args)
        {
            string archivePath = @"C:\example\archive.7z";
            string filePath = @"C:\example\file.txt";
    
            int result = CreateArchive(archivePath, filePath);
            if (result == 0)
            {
                Console.WriteLine("Archive created successfully.");
            }
            else
            {
                Console.WriteLine("Failed to create archive.");
            }
        }
    }

    5. 错误处理

    7-Zip API 中的每个函数都会返回 HRESULT 类型的值,用于指示操作是否成功。常见的错误代码包括:

    • S_OK (0):操作成功。
    • E_FAIL (-1):一般性错误。
    • E_INVALIDARG (-2147024809):无效参数。
    • E_OUTOFMEMORY (-2147024882):内存不足。

    6. 文档和资源

    由于 7-Zip 是一个开源项目,完整的 API 文档并没有官方的标准文档,但可以参考以下资源:

    • 源代码:7-Zip 的源代码包含了 API 的使用示例和详细注释。你可以访问 7-Zip 官方网站 下载源代码。
    • 7-Zip API 示例代码:在源代码中通常包含一些示例代码,展示如何在 C++ 中调用 7-Zip 的压缩和解压缩功能。
    • 社区论坛和 GitHub:在 7-Zip 的 GitHub 页面或相关论坛中,常常有开发者讨论如何使用 7-Zip API 的相关问题。

    7. 总结

    7-Zip 的 API 主要通过 COM 接口和 DLL 提供对压缩和解压缩功能的支持,适合用于开发者在自己的应用程序中嵌入压缩功能。虽然没有官方的 API 文档,但通过分析源代码和社区支持,开发者可以快速掌握如何在 C++ 或 C# 等语言中使用 7-Zip API。

  • 常见开发环境配置(Windows、Linux、macOS)

    7-Zip 是一个开源的文件压缩工具,提供了多种压缩格式的支持(如 .7z.zip.tar 等)。在开发中,如果你需要集成 7-Zip 到自己的应用程序中,可能需要在不同的操作系统上配置和使用 7-Zip 的 API。以下是针对 WindowsLinuxmacOS 等常见开发环境的配置步骤。

    1. Windows 开发环境配置

    在 Windows 上,开发者通常使用 Visual StudioMinGW 这样的编译器来构建与 7-Zip 相关的应用。7-Zip 提供了 COM 接口以及动态链接库 (DLL),可以直接在 Windows 应用程序中使用。

    步骤:

    1. 下载 7-Zip 源代码或二进制文件

    2. 配置 Visual Studio

      • 将 7z.dll 或 7z.exe 添加到项目目录,或者将其路径添加到系统环境变量中。
      • 在项目中使用 COM 接口或 P/Invoke 调用 7z.dll,或者使用 7-Zip 的 C++ 库直接链接。
    3. 在 C++ 中使用 7-Zip API

      • 你需要在 C++ 项目中链接 7z.dll,并通过 COM 接口来使用压缩/解压功能。
      • 例如,以下代码片段展示了如何在 C++ 中调用 7z.dll
      cppCopy Code
      #include <windows.h>
      #include "7z.h"
      
      // 使用 COM 接口打开归档
      HRESULT ExtractArchive(const wchar_t* archivePath, const wchar_t* extractTo) {
          // 创建 7-Zip COM 对象
          CComPtr<IInArchive> archive;
          HRESULT result = CoCreateInstance(CLSID_C7zArchive, NULL, CLSCTX_INPROC_SERVER, IID_IInArchive, (void**)&archive);
          if (FAILED(result)) {
              return result;
          }
      
          // 打开归档文件并提取
          CComPtr<ISequentialInStream> fileStream = OpenFile(archivePath);
          result = archive->Open(fileStream, NULL);
          if (FAILED(result)) {
              return result;
          }
      
          CComPtr<ISequentialOutStream> outputStream = OpenDirectory(extractTo);
          result = archive->Extract(NULL, 0xFFFFFFFF, outputStream, NULL);
          return result;
      }
    4. 使用 7-Zip 命令行 如果不想直接集成 API,你可以通过调用 7z.exe(7-Zip 的命令行工具)来压缩和解压文件。在 C++ 中使用 CreateProcess 启动命令行进程。

      cppCopy Code
      #include <windows.h>
      void Run7ZipCommand(const wchar_t* command) {
          STARTUPINFO si = { sizeof(si) };
          PROCESS_INFORMATION pi;
          CreateProcess(NULL, (LPWSTR)command, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
          WaitForSingleObject(pi.hProcess, INFINITE);
      }

    开发工具:

    • Visual Studio(推荐用于开发 C++ 和 C# 应用)
    • MinGW(如果需要使用 GCC)
    • CMake(如果希望跨平台构建项目)

    2. Linux 开发环境配置

    在 Linux 系统中,7-Zip 通常通过 p7zip 工具包提供。开发者可以使用 7-Zip 的命令行工具,或者使用它的 C++ API。

    步骤:

    1. 安装 p7zip 在大多数 Linux 发行版中,你可以通过包管理器安装 p7zip,它提供了 7-Zip 的命令行工具。

      • 在 Debian/Ubuntu 上安装:

        bashCopy Code
        sudo apt-get install p7zip-full
      • 在 Fedora/CentOS 上安装:

        bashCopy Code
        sudo yum install p7zip
    2. 使用命令行工具 p7zip 提供了与 7-Zip 相同的命令行界面,支持压缩和解压操作。例如,使用以下命令来压缩文件:

      bashCopy Code
      7z a archive.7z file1.txt file2.txt

      或者解压:

      bashCopy Code
      7z x archive.7z
    3. 在 C++ 中使用 p7zip API Linux 上也可以使用 7-Zip 的 C++ 库。你需要从源代码构建它,或者使用现有的预编译库。

      • 获取 p7zip 源代码:p7zip GitHub
      • 你可以在 C++ 中直接调用 7-Zip 的类和函数进行压缩和解压操作。
    4. 使用 7-Zip 库进行开发 你可以使用 7z.so(动态链接库)来集成到应用程序中。假设你已经安装了 p7zip,以下是链接并调用 7-Zip 库的一个示例:

      cppCopy Code
      #include <7z.h>
      
      // 使用 p7zip 库进行压缩操作
      void CompressFile(const char* inputFile, const char* archiveName) {
          COutArchive *outArchive;
          outArchive->Create(outputStream, archiveName);
          outArchive->Add(inputFile);  // 添加文件到压缩包
      }

    开发工具:

    • GCC(GNU 编译器)
    • Make 或 CMake(用于构建)
    • Valgrind(调试工具)

    3. macOS 开发环境配置

    macOS 中也可以使用 p7zip,并且可以通过 Homebrew 安装。开发环境配置与 Linux 类似,主要区别在于 macOS 上的开发工具链。

    步骤:

    1. 安装 p7zip 使用 Homebrew 安装 p7zip

      bashCopy Code
      brew install p7zip
    2. 使用命令行工具 安装后,你可以通过命令行进行压缩和解压操作,方法与 Linux 相同:

      bashCopy Code
      7z a archive.7z file1.txt file2.txt
      7z x archive.7z
    3. 在 Xcode 中使用 7-Zip

      • 在 macOS 上使用 Xcode 开发时,你可以通过 p7zip 的 C++ API 进行集成。
      • 你可以从源代码构建 7-Zip,或者将库文件 lib7z.dylib 链接到你的 Xcode 项目中。
    4. 通过 P/Invoke 调用 7-Zip 在使用 Objective-C 或 Swift 开发时,您可以通过与 C++ 的互操作性(如 P/Invoke)来调用 7-Zip 的功能。

    开发工具:

    • Xcode(用于 macOS 和 iOS 开发)
    • Clang(macOS 的 C++ 编译器)
    • Homebrew(安装软件包)

    总结

    7-Zip 在不同操作系统上的开发环境配置有所不同:

    • Windows:可以使用 Visual Studio 集成 7-Zip API,或者调用命令行工具 7z.exe
    • Linux:通过 p7zip 包提供 7-Zip 命令行工具,也可以编译和使用 C++ 库。
    • macOS:通过 Homebrew 安装 p7zip,并可以在 Xcode 项目中使用 7-Zip API。

    通过这些步骤,你可以在不同操作系统下方便地配置并使用 7-Zip 来进行文件压缩和解压。

  • 性能调优工具与技巧

    7-Zip 是一个功能强大的开源压缩工具,它提供了多种压缩格式(如 .7z.zip.tar 等),并且支持高度优化的压缩算法。为了提高性能或优化压缩速度和压缩率,可以采取以下一些性能调优技巧和工具。

    1. 选择合适的压缩算法和格式

    7-Zip 支持多种压缩算法,不同算法在压缩效率和速度上有不同的表现。选择适当的压缩算法和格式对性能至关重要。

    常见的压缩格式:

    • 7z 格式(使用 LZMA 或 LZMA2 算法):具有最佳的压缩率,但速度较慢。
    • ZIP 格式(使用 Deflate 算法):适合兼容性需求,压缩率不如 7z,但速度较快。
    • TAR 格式:用于 Linux 和 macOS 系统,适合归档目的,不压缩数据。
    • GZIP 和 BZIP2:用于在 Linux 系统上压缩单个文件或流。

    2. 调节压缩级别

    7-Zip 提供不同的压缩级别,影响压缩时间和文件大小。调整压缩级别可以根据需求权衡压缩速度与压缩率。

    • Fastest:优先速度,适用于不太关注压缩率的场景。
    • Normal:默认的压缩级别,提供一个平衡的压缩率与速度。
    • Ultra:压缩率最高,但速度最慢,适用于对压缩率要求极高的场景。

    调节压缩级别示例:

    bashCopy Code
    7z a -mx=9 archive.7z file1.txt file2.txt

    -mx=9 表示使用最慢但最强的压缩级别(Ultra)。

    3. 选择压缩线程数

    7-Zip 支持多线程压缩,特别是使用 LZMA 和 LZMA2 算法时。调整使用的 CPU 核心数可以显著提高压缩速度,尤其是在多核处理器上。

    设置线程数:

    bashCopy Code
    7z a -mmt=on archive.7z file1.txt file2.txt

    -mmt=on 启用多线程。你可以指定使用的核心数:

    bashCopy Code
    7z a -mmt=4 archive.7z file1.txt file2.txt

    这里 -mmt=4 表示使用 4 个线程。

    注意:使用多线程时,7-Zip 会显著提高压缩速度,但压缩率可能会略微下降。对于性能要求较高的情况,可以调整线程数来找到最优的平衡。

    4. 使用 LZMA2 算法

    LZMA2 是 LZMA 算法的改进版本,支持多线程,并且在压缩率和速度上都比传统 LZMA 更有优势。默认情况下,7-Zip 使用 LZMA 算法,但你可以显式选择 LZMA2。

    使用 LZMA2:

    bashCopy Code
    7z a -m0=lzma2 archive.7z file1.txt file2.txt

    使用 -m0=lzma2 强制使用 LZMA2 算法,通常能带来更高的压缩效率,尤其在多核处理器上。

    5. 调整字典大小和固实压缩

    7-Zip 使用字典来存储压缩数据的重复模式。增加字典的大小通常能提高压缩率,但会增加内存消耗。对于大文件或大量小文件,增加字典大小可以显著提高压缩效果。

    增加字典大小:

    bashCopy Code
    7z a -m0=lzma2 -md=1024m archive.7z file1.txt file2.txt

    -md=1024m 将字典大小设置为 1024MB。字典越大,压缩率越高,但内存使用量也会增加。

    固实压缩(Solid Compression)

    固实压缩技术会将多个文件作为一个大的数据块进行压缩,这样可以提高压缩率,但在解压时需要解压整个归档文件。这对大量小文件的压缩效果尤为显著。

    • 启用固实压缩:
      bashCopy Code
      7z a -ms=on archive.7z file1.txt file2.txt
    • 关闭固实压缩:
      bashCopy Code
      7z a -ms=off archive.7z file1.txt file2.txt

    注意:固实压缩对单个大文件的压缩效果并不明显,主要适用于包含大量小文件的情况。

    6. 控制压缩块大小

    在使用 LZMA/LZMA2 时,压缩文件的块大小(即每个压缩块的大小)也会影响压缩效率。较大的块大小通常可以提高压缩率,但可能会导致压缩过程需要更多的内存。

    调整压缩块大小:

    bashCopy Code
    7z a -m0=lzma2 -mb=256m archive.7z file1.txt file2.txt

    -mb=256m 将压缩块大小设置为 256MB。

    7. 启用字典加速

    在一些特定场景下,使用字典加速可能会提高性能,尤其是在解压缩时。可以通过 -mmt-md 配合使用来达到较好的效果。

    启用字典加速:

    bashCopy Code
    7z a -m0=lzma2 -md=256m -mmt=on archive.7z file1.txt file2.txt

    这样不仅启用了多线程,还调整了字典大小来提高性能。

    8. 压缩不同类型的文件

    不同类型的文件对压缩算法的表现也有影响。例如,文本文件通常能达到非常高的压缩率,而已压缩的文件(如 .jpg.mp4)则压缩效果较差。在选择压缩算法时可以根据文件类型进行优化。

    • 对文本文件进行压缩:LZMA 和 LZMA2 通常能提供最佳的压缩效果。
    • 对已压缩的文件进行压缩:如果文件已经被压缩(如 .jpg.zip 等),则使用 ZIP 格式可能更合适,避免过度压缩。

    9. 优化解压速度

    如果你更关注解压速度而非压缩速度,可以选择较低的压缩级别(如 -mx=1)或者使用 ZIP 格式进行压缩。7-Zip 也提供了专门优化解压速度的选项。

    提高解压速度:

    bashCopy Code
    7z x archive.zip -mfb=256 -md=64m
    • -mfb=256 设置解压时使用的字典大小。
    • -md=64m 设置解压时使用的内存大小。

    10. 分卷压缩(分卷归档)

    如果你希望将大文件或大数据集分割成多个小文件进行存储或传输,可以使用 7-Zip 的分卷压缩功能。分卷压缩不仅能帮助管理大文件,还能提高传输效率。

    创建分卷压缩包:

    bashCopy Code
    7z a -v500m archive.7z file1.txt file2.txt

    -v500m 表示每个分卷大小为 500MB。你可以根据需要调整大小。


    总结

    通过合理配置 7-Zip 的参数,可以在压缩率、速度、内存使用等方面找到最佳平衡点。以下是一些关键点总结:

    • 选择合适的压缩格式和算法(如 LZMA2)。
    • 调整压缩级别和线程数,优化速度和压缩率。
    • 使用固实压缩和增加字典大小来提升压缩率。
    • 在不同文件类型上选择合适的压缩算法。
    • 使用分卷压缩和内存优化选项来提高处理大文件的效率。

    通过这些技巧,你可以根据具体需求调优 7-Zip,实现最优的性能表现。

 

 


7-Zip 是一款功能强大的开源压缩软件,支持多种压缩格式。它的核心文件和模块通常与其功能和支持的压缩格式相关。具体来说,7-Zip 的文件模块包含多个部分,每个部分执行不同的功能。以下是 7-Zip 常见的模块文件和组件:

1. 7z.dll

  • 功能7z.dll 是 7-Zip 的核心动态链接库(DLL)文件,负责执行压缩和解压缩操作。它提供了对 .7z 格式及其他压缩格式(如 .zip.tar.gzip 等)的支持。
  • 用途:这是 7-Zip 的主要文件,支持多种压缩算法和格式,通常在其他应用程序中嵌入调用。

2. 7za.exe

  • 功能7za.exe 是 7-Zip 的一个命令行版本,支持大部分常见的压缩和解压功能。相比图形界面的 7z.exe7za.exe 不依赖于任何外部 DLL,属于单一的可执行文件。
  • 用途:可以通过命令行进行批量压缩、解压、测试压缩包等操作,适用于需要自动化或脚本化操作的场景。

3. 7zFM.exe

  • 功能7zFM.exe 是 7-Zip 的图形用户界面(GUI)文件管理器。它提供了一个简易的界面来进行文件压缩和解压缩操作。
  • 用途:用户通过这个界面可以直观地选择文件进行压缩、解压,支持多种压缩格式的创建和提取。

4. 7z.dll(用于外部支持)

  • 功能:有些程序可能会使用 7-Zip 提供的 7z.dll 库进行文件压缩/解压操作。这个 DLL 文件可以集成到其他软件中,使其支持 7-Zip 格式的处理。
  • 用途:比如某些第三方应用或压缩工具可能会通过 7z.dll 提供对 .7z 格式的支持。

5. 7zS.dll

  • 功能7zS.dll 是一个压缩和解压缩格式的动态库,用于支持特定的操作模式。它常用于某些特定的 7-Zip 版本或扩展。
  • 用途:这个 DLL 文件通常与其他系统或工具集成时使用,处理某些特定功能或算法。

6. 7zCon.sfx / 7zS.sfx

  • 功能:这些是 7-Zip 自带的自解压(SFX)模块,它们允许创建可以自解压的 .exe 文件。使用这些文件时,用户可以将压缩包和解压程序打包成一个可执行文件,用户只需双击 .exe 文件就能自动解压内容。
  • 用途:常用于将文件打包成单个自解压的可执行文件,尤其是在没有安装 7-Zip 的环境中需要解压时。

7. 7z.dll 和 7z.exe 的其他支持模块

  • 功能:7-Zip 还可能包含一些额外的支持模块,用于提供对不同压缩格式的支持,如 .tar.zip.gzip 等格式的处理。
  • 用途:这些模块扩展了 7-Zip 的功能,使其能够支持更广泛的压缩格式,提供高效的压缩率和解压功能。

8. 7zFM.ico

  • 功能:这是 7-Zip 图形界面应用程序的图标文件,用于显示在 Windows 文件管理器中。
  • 用途:提供 7-Zip 图形界面的视觉元素。

9. 7z.chm

  • 功能:这是 7-Zip 的帮助文件,通常是一个 HTML 帮助文件(.chm 格式),包含了 7-Zip 的使用说明和参考文档。
  • 用途:提供有关 7-Zip 使用方法、命令行选项等的详细文档。

10. 7z.dll / 7za.dll 其他扩展模块

  • 功能:7-Zip 的 DLL 库文件可以根据不同的格式支持扩展模块,这些扩展模块可能包括对特定加密方式或特殊压缩格式的支持。
  • 用途:通过加载这些模块,7-Zip 可以处理更加复杂的压缩任务或提高压缩性能。

 

7-Zip 作为一个高效的压缩工具,提供了多个不同的模块文件以支持其不同的功能。7z.dll 是最核心的动态链接库,而 7z.exe, 7za.exe, 7zFM.exe 等文件则提供了不同的用户界面或命令行支持。自解压模块如 7zS.sfx 使得用户可以轻松分享可自解压的压缩包。

这些模块共同构成了 7-Zip 的强大功能,使其成为跨平台、跨格式的压缩工具。


7-Zip 模块文件更新与使用指南

7-Zip 是一款广受欢迎的开源压缩工具,支持多种格式(如 .7z, .zip, .tar, .gzip 等),并且具备高效的压缩比和解压速度。为了使 7-Zip 保持高效和兼容性,它会定期更新文件和模块,新增功能或修复已知问题。下面是关于 7-Zip 模块文件更新和使用的一些常见问题和解决方案。

1. 7-Zip 模块文件概述

7-Zip 主要有几个重要模块文件,分别是可执行文件、动态链接库(DLL)、帮助文件等。这些模块提供了 7-Zip 的核心功能和用户交互界面。更新时,我们通常会涉及以下几个关键文件:

  • 7z.exe:图形界面的压缩/解压可执行文件
  • 7zFM.exe:图形文件管理器,用于浏览和操作压缩包
  • 7za.exe:命令行版本,用于批处理和脚本化操作
  • 7z.dll:核心库文件,负责执行压缩和解压缩任务
  • 7zS.sfx:自解压模块,允许创建自解压的 .exe 文件
  • 7z.chm:帮助文件,包含 7-Zip 的使用说明和文档

2. 更新 7-Zip 模块文件

7-Zip 的更新可以通过以下方式进行:

2.1 手动更新

  1. 下载最新版本:你可以从 7-Zip 官网 下载最新的稳定版本。下载页面通常提供适用于不同操作系统(Windows、Linux)的安装包或可执行文件。

  2. 安装新版本:如果你已经安装了较早的版本,下载新版本后可以直接进行安装。安装程序会自动替换掉旧的模块文件。如果你使用的是 7-Zip 的便携版(无需安装),则只需要解压新版本的文件到合适的目录中即可。

  3. 覆盖更新:安装过程中,安装程序会提示覆盖已有的 7-Zip 文件。对于已经存在的核心模块文件,如 7z.dll, 7z.exe 等,安装程序会自动更新。如果你想保留个性化设置,可以在安装前备份 7z.ini 文件。

2.2 自动更新

某些操作系统(例如,Windows 10/11)可能通过操作系统的自动更新或第三方软件管理工具来自动更新 7-Zip。你可以检查是否已启用自动更新功能,或者使用软件管理工具(如 NiniteChocolatey)自动更新。

2.3 检查更新版本

  • 版本号:每次更新时,7-Zip 会发布版本号。例如,7-Zip 21.07 表示 21.07 版本。你可以通过命令行执行 7z -version 来查看当前安装的版本号。

  • 更新日志:每次发布新版本时,7-Zip 官网会提供更新日志,列出新增功能、改进的功能以及修复的 bug。确保你查看了最新的版本日志,了解更新内容。

3. 更新后的模块文件使用

3.1 使用 7z.exe 和 7zFM.exe(图形界面)

  • 7z.exe:此文件是图形界面的核心,更新后,用户可以通过该界面进行压缩、解压操作。你可以通过双击文件,或者右键点击文件夹/文件,选择 7-Zip 菜单中的操作来启动压缩或解压任务。

  • 7zFM.exe:更新后,你可以通过 7zFM.exe 打开文件管理器,浏览压缩包、提取内容,或者创建新的压缩包。文件管理器提供了方便的图形界面操作体验。

3.2 使用 7za.exe(命令行)

  • 7za.exe:这个命令行工具非常适合批量压缩/解压任务。在更新后的版本中,你可以通过命令行调用 7-Zip 来进行高效的压缩操作。

    示例命令:

    bashCopy Code
    7za a archive.7z files

    该命令会将 files 文件夹压缩成 archive.7z 文件。

    常用命令:

    • 压缩:7za a archive.7z files
    • 解压:7za x archive.7z
    • 列出内容:7za l archive.7z

3.3 使用 7zS.sfx(自解压)

  • 7zS.sfx:自解压模块使你可以创建一个独立的可执行文件,这个文件包含了压缩包和解压程序。更新后,7zS.sfx 可以支持更多格式或提供更高的压缩率。

    示例命令:

    bashCopy Code
    7za a -sfx7zS.sfx archive.exe files

    这个命令会将文件压缩并打包成一个 .exe 自解压文件。

3.4 7z.dll 和 7za.dll(开发者支持)

  • 7z.dll:7-Zip 的动态链接库文件允许开发者将 7-Zip 的压缩/解压功能集成到其他应用程序中。更新后,新的 7z.dll 会包含修复的 bug 和可能的新功能。你可以在开发应用时链接此 DLL 文件以支持 .7z 等格式。

    示例:

    cCopy Code
    #include "7z.dll"

3.5 查看帮助文件(7z.chm)

  • 7z.chm:更新后的帮助文件提供了详细的命令行选项、图形界面操作指南以及技术支持文档。你可以通过双击打开该 .chm 文件,查阅最新的使用说明和更新日志。

    你可以使用 F1 键在 7-Zip 图形界面中查看帮助。

4. 常见问题与解决方案

  • 更新后 7-Zip 无法启动:确保更新过程中没有出现文件损坏或冲突。如果问题依旧,尝试卸载旧版本并重新安装最新版本。

  • 自解压文件无法正常解压:确保 7zS.sfx 文件是最新版本,且自解压文件没有损坏。如果你创建的自解压文件无法解压,尝试重新创建并确保其完整性。

  • 7z.dll 版本不兼容:如果你的应用依赖于特定版本的 7z.dll,请确保更新后使用的版本与原先兼容,或者尝试使用不同版本的 DLL。

 

7-Zip 的模块文件更新主要是通过替换核心可执行文件、库文件和辅助文件来进行。通过手动或自动更新,你可以确保使用最新的功能和修复。如果你是开发者,也可以更新 7z.dll 以保证集成的稳定性和兼容性。更新后的 7-Zip 支持更高效的压缩和解压功能,并可能增加对新格式的支持。


7-Zip 作为广泛使用的压缩工具,也曾经暴露过一些安全漏洞(CVE,Common Vulnerabilities and Exposures)。这些漏洞可能会被恶意利用,导致信息泄露、执行任意代码或其他安全问题。以下是一些已知的 7-Zip CVE 漏洞:

1. CVE-2021-22192

  • 描述:7-Zip 21.03 之前版本存在一个漏洞,恶意用户可以通过构造特制的压缩包(例如 .7z 文件),在解压时利用该漏洞导致堆栈溢出(stack overflow)。这可能导致程序崩溃或被恶意利用来执行任意代码。
  • 影响版本:7-Zip 21.03 之前的版本。
  • 修复版本:7-Zip 21.03 及之后的版本已经修复了此漏洞。

2. CVE-2020-1938

  • 描述:虽然这不是直接针对 7-Zip 本身的漏洞,但这个 CVE 涉及到 7-Zip 可能在 Windows 环境下处理某些压缩格式时与 Web 服务器(如 Apache)产生交互时的问题。具体来说,7-Zip 在通过网络解压包含恶意文件的压缩包时,可能受到某些跨站脚本或远程执行漏洞的影响。
  • 影响版本:某些版本的 7-Zip 可能会受到间接影响。
  • 修复版本:更新到更高版本的 7-Zip,尤其是在确保它不会错误地处理网络传输压缩包时。

3. CVE-2019-17010

  • 描述:在 7-Zip 18.06 之前的版本中,7-Zip 在解压时可能存在处理 ZIP 文件中的压缩方法不当的问题。恶意构造的 ZIP 文件可以导致堆栈溢出,并可能导致程序崩溃或远程执行代码。
  • 影响版本:7-Zip 18.06 之前版本。
  • 修复版本:7-Zip 19.00 及以上版本已经修复了此漏洞。

4. CVE-2018-10115

  • 描述:7-Zip 16.04 及之前版本存在一个漏洞,在处理 7z 格式的压缩包时,攻击者可能构造特制的压缩包,利用该漏洞执行恶意代码。该漏洞利用了 7-Zip 解压时的堆栈溢出问题,可能导致任意代码执行。
  • 影响版本:7-Zip 16.04 及更早版本。
  • 修复版本:7-Zip 18.05 及之后版本。

5. CVE-2016-2335

  • 描述:7-Zip 9.20 版本存在缓冲区溢出漏洞,可能允许攻击者通过构造恶意的 .7z 或 .zip 文件来执行任意代码。该漏洞主要影响早期版本的 7-Zip。
  • 影响版本:7-Zip 9.20 及早期版本。
  • 修复版本:更新到较新的版本来修复此漏洞。

6. CVE-2015-2302

  • 描述:该漏洞涉及到 7-Zip 在处理特定压缩包格式时的堆栈溢出,攻击者可以通过构造特定的压缩文件,诱使用户解压时触发溢出,进而执行任意代码。
  • 影响版本:7-Zip 9.20 及早期版本。
  • 修复版本:7-Zip 16.00 及以上版本。

 

这些 CVE 漏洞表明,虽然 7-Zip 是一款广泛使用且非常可靠的压缩工具,但它仍然会受到一些安全漏洞的影响,特别是在处理恶意构造的压缩文件时。为了防止潜在的安全风险,建议用户始终保持 7-Zip 更新到最新版本,及时修复已知的漏洞。

如果你是 7-Zip 的用户,建议关注官方发布的安全更新,并在使用过程中避免打开来自不可信来源的压缩文件,尤其是包含可执行内容的文件。


讨论 7-Zip 的安全性时,可以进一步关注其漏洞的修复过程以及潜在的最佳安全实践。

如何提升 7-Zip 的安全性:

  1. 定期更新:确保使用的 7-Zip 版本是最新的,因为每个新版本通常都包含了对已知漏洞的修复。

  2. 小心不明来源的压缩包:避免下载和解压来自不信任或不明来源的压缩文件,特别是那些包含可执行文件(如 .exe.bat)的压缩包。

  3. 使用杀毒软件:配合使用及时更新的杀毒软件进行扫描,以防止恶意压缩包在解压时感染系统。

  4. 限制权限:避免以管理员权限运行 7-Zip,尤其是在处理不信任文件时。减少权限可以降低潜在的攻击面。

通过这些措施,可以有效降低因压缩工具带来的安全风险,并提高系统的安全性。


HISTORY of the 7-Zip
--------------------

24.09          2024-11-29
-------------------------
- The default dictionary size values for LZMA/LZMA2 compression methods were increased:
         dictionary size   compression level
  v24.08  v24.09  v24.09
          32-bit  64-bit
    8 MB   16 MB   16 MB   -mx4
   16 MB   32 MB   32 MB   -mx5 : Normal
   32 MB   64 MB   64 MB   -mx6
   32 MB   64 MB  128 MB   -mx7 : Maximum
   64 MB   64 MB  256 MB   -mx8
   64 MB   64 MB  256 MB   -mx9 : Ultra
  The default dictionary size values for 32-bit versions of LZMA/LZMA2 don't exceed 64 MB.
- 7-Zip now can calculate the following hash checksums: SHA-512, SHA-384, SHA3-256 and MD5.
- APM and HFS support was improved.
- If an archive update operation uses a temporary archive folder and
  the archive is moved to the destination folder, 7-Zip shows the progress of moving
  the archive file, as this operation can take a long time if the archive is large.
- The bug was fixed: 7-Zip File Manager didn't propagate Zone.Identifier stream
  for extracted files from nested archives (if there is open archive inside another open archive).
- Some bugs were fixed.


24.08          2024-08-11
-------------------------
- The bug in 7-Zip 24.00-24.07 was fixed:
  For creating a zip archive: 7-Zip could write extra zero bytes after the end of the archive,
  if a file included to archive cannot be compressed to a size smaller than original.
  The created zip archive is correct except for the useless zero bytes after the end of the archive.
  When unpacking such a zip archive, 7-Zip displays a warning:
    "WARNING: There are data after the end of archive".
- The bug was fixed: there was a leak of GDI objects (internal resources in Windows)
  in "Confirm File Replace" window, causing problems after 1600 displays of "Confirm File Replace"
  window from same running 7-Zip process.
- Some optimizations for displaying file icons in 7-Zip File Manager and in "Confirm File Replace" window.
- Some bugs were fixed. CVE-2024-11612.


24.07          2024-06-19
-------------------------
- The bug was fixed: 7-Zip could crash for some incorrect ZSTD archives (CVE-2024-11477).


24.06          2024-05-26
-------------------------
- The bug was fixed: 7-Zip could not unpack some ZSTD archives.


24.05          2024-05-14
-------------------------
- New switch -myv={MMNN} to set decoder compatibility version for 7z archive creating.
  {MMNN} is 4-digit number that represents the version of 7-Zip without a dot.
  If -myv={MMNN} switch is specified, 7-Zip will only use compression methods that can
  be decoded by the specified version {MMNN} of 7-Zip and newer versions.
  If -myv={MMNN} switch is not specified, -myv=2300 is used, and 7-Zip will only
  use compression methods that can be decoded by 7-Zip 23.00 and newer versions.
- New switch -myfa={FilterID} to    allow 7-Zip to use the specified filter method for 7z archive creating.
- New switch -myfd={FilterID} to disallow 7-Zip to use the specified filter method for 7z archive creating.
- Some bugs were fixed.


24.04          2024-04-05
-------------------------
- New menu item in 7-Zip File Manager: "Tools / Delete Temporary Files...".
  This menu item opens a window showing temporary folders and files
  created by 7-Zip in the user's "Temp" folder on a Windows system.
  In this window, the user can delete temporary files.


24.03          2024-03-23
-------------------------
- 7-Zip now can use new RISCV filter for compression to 7z and xz archives.
  RISCV filter can increase compression ratio for data containing executable
  files compiled for RISC-V architecture.
- The speed for LZMA and LZMA2 decompression in ARM64 version for Windows
  was increased by 20%-60%.
- 7-Zip GUI and 7-Zip File Manager can ask user permission to unpack RAR archives that
  require big amount of memory, if the dictionary size in RAR archive is larger than 4 GB.
- new switch -smemx{size}g : to set allowed memory usage limit for RAR archive unpacking.
  RAR archives can use dictionary up 64 GB. Default allowed limit for RAR unpacking is 4 GB.
- 7zg.exe (7-Zip GUI): -y switch disables user requests and messages.
- 7-Zip shows hash methods XXH64 and BLAKE2sp in context menu.
- -slmu switch : to show timestamps as UTC instead of LOCAL TIME.
- -slsl switch : in console 7-Zip for Windows : to show file paths with
  linux path separator slash '/' instead of backslash separator '\'.
- 7-Zip supports .sha256 files that use backslash path separator '\'.
- Some bugs were fixed.


24.01          2024-01-31
-------------------------
- 7-Zip now can unpack ZSTD archives (.zst filename extension).
- 7-Zip now can unpack ZIP, SquashFS and RPM archives that use ZSTD compression method.
- 7-Zip now supports fast hash algorithm XXH64 that is used in ZSTD.
- 7-Zip now can unpack RAR archives (that use larger than 4 GB dictionary) created by new WinRAR 7.00.
- 7-Zip now can unpack DMG archives that use XZ (ULMO/LZMA) compression method.
- 7-Zip now can unpack NTFS images with cluster size larger than 64 KB.
- 7-Zip now can unpack MBR and GPT images with 4 KB sectors.
- Speed optimizations for archive unpacking: rar, cab, wim, zip, gz.
- Speed optimizations for hash caclulation: CRC-32, CRC-64, BLAKE2sp.
- The bug was fixed: 7-Zip for Linux could fail for multivolume creation in some cases.
- Some bugs were fixed.


23.01          2023-06-20
-------------------------
- The page "Language" in 7-Zip's menu Tools/Options now shows information
  about selected translation, including the number of translated lines.
- Some bugs were fixed.


23.00          2023-05-07
-------------------------
- 7-Zip now can use new ARM64 filter for compression to 7z and xz archives.
  ARM64 filter can increase compression ratio for data containing executable
  files compiled for ARM64 (AArch64) architecture.
  Also 7-Zip now parses executable files (that have exe and dll filename extensions)
  before compressing, and it selects appropriate filter for each parsed file:
    - BCJ or BCJ2 filter for x86 executable files,
    - ARM64 filter for ARM64 executable files.
  Previous versions by default used x86 filter BCJ or BCJ2 for all exe/dll files.
- Default section size for BCJ2 filter was changed from 64 MiB to 240 MiB.
  It can increase compression ratio for executable files larger than 64 MiB.
- UDF: support was improved.
- cpio: support for hard links.
- Some changes and optimizations in WIM creation code.
- When new 7-Zip creates multivolume archive, 7-Zip keeps in open state
  only volumes that still can be changed. Previous versions kept all volumes
  in open state until the end of the archive creation.
- 7-Zip for Linux and macOS now can reduce the number of simultaneously open files,
  when 7-Zip opens, extracts or creates multivolume archive. It allows to avoid
  the failures for cases with big number of volumes, bacause there is a limitation
  for number of open files allowed for a single program in Linux and macOS.
- There are optimizations in code for 7-Zip's context menu in Explorer:
  the speed of preparing of the menu showing was improved for cases when big number of
  files were selected by external program for context menu that contains 7-Zip menu commands.
- There are changes in code for the drag-and-drop operations to and from 7-Zip File Manager.
  And the drag-and-drop operation with right button of mouse now is supported for some cases.
- The bugs were fixed:
  - ZIP archives: if multithreaded zip compression was performed with more than one
      file to stdout stream (-so switch), 7-Zip didn't write "data descriptor" for some files.
  - ext4 archives: 7-Zip couldn't correctly extract symbolic link to directory from ext4 archives.
  - HFS and APFS archives: 7-Zip incorrectly decoded uncompressed blocks (64 KiB) in compressed forks.
  - HFS : zlib without Adler supported
  - Some another bugs were fixed.



22.01          2022-07-15
-------------------------
- UDF support was improved to UDF version 2.60.
- HFS and APFS support was improved.


22.00          2022-06-15
-------------------------
- 7-Zip now can extract APFS (Apple File System) images that can be used in DMG files.
- 7-Zip now can create TAR archives in POSIX (pax) tar format with the switches
    -ttar -mm=pax or -ttar -mm=posix
- 7-Zip now can store additional file timestamps with high precision (1 ns in Linux)
  in tar/pax archives with the following switches:
    -ttar -mm=pax -mtp=3 -mtc -mta
- New switches for Linux version for TAR archives:
  -snoi : store owner/group ids in archive or set owner/group ids from archive to extracted files.
  -snon : store owner/group names in archive
- New -snz switch to propagate Zone.Identifier stream to extracted files (Windows).
- New option "Propagate Zone.Id stream" in Tools/Options/7-Zip menu.
- New "Options" window in "Add to archive" allows to select what metadata must be
  included to archive. Also it allows to select new option
  "Do not change source files last access time".
- Some bugs were fixed.


21.07          2021-12-26
-------------------------
- 7-Zip now can extract VHDX disk images (Microsoft Hyper-V Virtual Hard Disk v2 format).
- New switches: -spm and -im!{file_path} to exclude directories from processing
    for specified paths that don't contain path separator character at the end of path.
- In the "Add to Archive" window, now it is allowed to use -m prefix for "Parameters"
  field as in command line: -mparam.
- The sorting order of files in archives was slightly changed to be more consistent
  for cases where the name of some directory is the same as the prefix part of the name
  of another directory or file.
- TAR archives created by 7-Zip now are more consistent with archives created by GNU TAR program.


21.06          2021-11-24
-------------------------
- The window "Add to Archive" now allows to set a limit on memory usage (RAM)
  that will be used for compressing.
- New switch -mmemuse={N}g / -mmemuse=p{N} to set a limit on memory usage (RAM)
  for compressing and decompressing.
- Bug in versions 21.00-21.05 was fixed:
  7-Zip didn't set attributes of directories during archive extracting.
- Some bugs were fixed.


21.04 beta     2021-11-02
-------------------------
- 7-Zip now reduces the number of working CPU threads for compression,
  if RAM size is not enough for compression with big LZMA2 dictionary.
- 7-Zip now can create and check "file.sha256" text files that contain the list
  of file names and SHA-256 checksums in format compatible with sha256sum program.
  7-Zip can work with such checksum files as with archives,
  but these files don't contain	real file data.
  The context menu commands to create and test "sha256" files:
    7-Zip  /  CRC SHA  /  SHA-256 -> file.sha256
    7-Zip  /  CRC SHA  /  Test Archive : Checksum
  The commands for command line version:
    7z a -thash file.sha256 *.txt
    7z t -thash file.sha256
    7z t -thash -shd. file.sha256
  New -shd{dir_path} switch to set the directory that is used to check files
  referenced by "file.sha256" file for "Test" operation.
  If -shd{dir_path} is not specified, 7-Zip uses the directory where "file.sha256" is stored.
- New -xtd switch to exclude directory metadata records from processing.


21.03 beta     2021-07-20
-------------------------
- The maximum dictionary size for LZMA/LZMA2 compressing was increased to 4 GB (3840 MiB).
- Minor speed optimizations in LZMA/LZMA2 compressing.


21.02 alpha    2021-05-06
-------------------------
- 7-Zip now writes additional field for filename in UTF-8 encoding to zip archives.
  It allows to extract correct file name from zip archives on different systems.
- The command line version of 7-Zip for macOS was released.
- The speed for LZMA and LZMA2 decompression in arm64 versions for macOS and Linux
  was increased by 20%-60%.
- Some changes and improvements in ZIP, TAR and NSIS code.


21.01 alpha    2021-03-09
-------------------------
- The command line version of 7-Zip for Linux was released.
- The improvements for speed of ARM64 version using hardware CPU instructions
  for AES, CRC-32, SHA-1 and SHA-256.
- The bug in versions 18.02 - 21.00 was fixed:
  7-Zip could not correctly extract some ZIP archives created with xz compression method.
- Some bugs were fixed.


21.00 alpha    2021-01-19
-------------------------
- Some internal changes in code.
- Some bugs were fixed.
- New localizations: Tajik, Uzbek (Cyrillic)


20.02 alpha    2020-08-08
-------------------------
- The default number of LZMA2 chunks per solid block in 7z archive was increased to 64.
  It allows to increase the compression speed for big 7z archives, if there is a big number
  of CPU cores and threads.
- The speed of PPMd compressing/decompressing was increased for 7z/ZIP/RAR archives.
- The new -ssp switch. If the switch -ssp is specified, 7-Zip doesn't allow the system
  to modify "Last Access Time" property of source files for archiving and hashing operations.
- Some bugs were fixed.
- New localization: Swahili.


20.00 alpha    2020-02-06
-------------------------
- 7-Zip now supports new optional match finders for LZMA/LZMA2 compression: bt5 and hc5,
  that can work faster than bt4 and hc4 match finders for the data with big redundancy.
- The compression ratio was improved for Fast and Fastest compression levels with the
  following default settings:
   - Fastest level (-mx1) : hc5 match finder with 256 KB dictionary.
   - Fast    level (-mx3) : hc5 match finder with 4 MB dictionary.
- Minor speed optimizations in multithreaded LZMA/LZMA2 compression for Normal/Maximum/Ultra
  compression levels.
- bzip2 decoding code was updated to support bzip2 archives, created by lbzip2 program.
- Some bugs were fixed.
- New localization: Turkmen.


19.02 alpha    2019-09-05
-------------------------
- 7-Zip now can unpack files encoded with Base64 encoding (b64 filename extension).
- 7-Zip now can use new x86/x64 hardware instructions for SHA-1 and SHA-256, supported
  by AMD Ryzen and latest Intel CPUs: Ice Lake and Goldmont.
  It increases
    - the speed of SHA-1/SHA-256 hash value calculation,
    - the speed of encryption/decryption in zip AES,
    - the speed of key derivation for encryption/decryption in 7z/zip/rar archives.
- The speed of zip AES encryption and 7z/zip/rar AES decryption was increased with
  the following improvements:
   - 7-Zip now can use new x86/x64 VAES (AVX Vector AES) instructions, supported by
     Intel Ice Lake CPU.
   - The existing code of x86/x64 AES-NI was improved also.
- There is 2% speed optimization in 7-Zip benchmark's decompression.
- Some bugs were fixed.

 
19.00          2019-02-21
-------------------------
- Encryption strength for 7z archives was increased:
  the size of random initialization vector was increased from 64-bit to 128-bit,
  and the pseudo-random number generator was improved.
- Some bugs were fixed.


18.06          2018-12-30
-------------------------
- The speed for LZMA/LZMA2 compressing was increased by 3-10%,
  and there are minor changes in compression ratio.
- Some bugs were fixed.
- The bug in 7-Zip 18.02-18.05 was fixed: there was memory leak in xz decoder.
- 7-Zip 18.02-18.05 used only one CPU thread for bz2 archive creation.
  

18.05          2018-04-30
-------------------------
- The speed for LZMA/LZMA2 compressing was increased
    by 8% for fastest/fast compression levels and
    by 3% for normal/maximum compression levels.
- 7-Zip now shows Properties (Info) window and CRC/SHA results window
  as "list view" window instead of "message box" window.
- Some improvements in zip, hfs and dmg code.
- Previous versions of 7-Zip could work incorrectly in "Large memory pages" mode in
  Windows 10 because of some BUG with "Large Pages" in Windows 10.
  Now 7-Zip doesn't use "Large Pages" on Windows 10 up to revision 1709 (16299).
- The vulnerability in RAR unpacking code was fixed (CVE-2018-10115).
- Some bugs were fixed.
 

18.03 beta     2018-03-04
-------------------------
- The speed for single-thread LZMA/LZMA2 decoding
  was increased by 30% in x64 version and by 3% in x86 version.
- 7-Zip now can use multi-threading for 7z/LZMA2 decoding,
  if there are multiple independent data chunks in LZMA2 stream.
- 7-Zip now can use multi-threading for xz decoding,
  if there are multiple blocks in xz stream.
- New localization: Kabyle.
- Some bugs were fixed.


18.01          2018-01-28
-------------------------
- 7-Zip now can unpack DMG archives that use LZFSE compression method.
- 7-Zip now doesn't allow update operation for archives that have read-only attribute.
- The BUG was fixed:
  extracting from tar with -si switch didn't set timestamps for directories.
- Some bugs were fixed.


18.00 beta     2018-01-10
-------------------------
- 7-Zip now can unpack OBJ/COFF files.
- new -sse switch to stop archive creating, if 7-Zip can't open some input file.
- Some bugs were fixed.


17.01 beta     2017-08-28
-------------------------
- Minor speed optimization for LZMA2 (xz and 7z) multi-threading compression.
  7-Zip now uses additional memory buffers for multi-block LZMA2 compression.
  CPU utilization was slightly improved.
- 7-zip now creates multi-block xz archives by default. Block size can be
  specified with -ms[Size]{m|g} switch.
- xz decoder now can unpack random block from multi-block xz archives.
  7-Zip File Manager now can open nested multi-block xz archives
  (for example, image.iso.xz) without full unpacking of xz archive.
- 7-Zip now can create zip archives from stdin to stdout.
- 7-Zip command line: @listfile now doesn't work after -- switch.
  Use -i@listfile before -- switch instead.
- The BUGs were fixed:
  7-Zip could add unrequired alternate file streams to WIM archives,
  for commands that contain filename wildcards and -sns switch.
  7-Zip 17.00 beta crashed for commands that write anti-item to 7z archive.
  7-Zip 17.00 beta ignored "Use large memory pages" option.


17.00 beta     2017-04-29
-------------------------
- ZIP unpacking code was improved.
- 7-Zip now reserves file space before writing to file (for extraction from archive).
  It can reduce file fragmentation.
- Some bugs were fixed. 7-Zip could crash in some cases.
- Internal changes in code.


16.04          2016-10-04
-------------------------
- The bug was fixed: 7-Zip 16.03 exe installer under Vista didn't create
  links in Start / Programs menu.
- Some bugs were fixed in RAR code.


16.03          2016-09-28
-------------------------
- Installer and SFX modules now use some protection against DLL preloading attack.
- Some bugs were fixed in 7z, NSIS, SquashFS, RAR5 and another code.


16.02          2016-05-21
-------------------------
- 7-Zip now can extract multivolume ZIP archives (z01, z02, ... , zip).
- Some bugs were fixed.


15.14          2015-12-31
-------------------------
- 7-Zip File Manager:
  - The code for "Open file from archive" operation was improved.
  - The code for "Tools/Options" window was improved.
  - The BUG was fixed: there was incorrect mouse cursor capture for
    drag-and-drop operations from open archive to Explorer window.
- Some bugs were fixed.
- New localization: Yoruba.


15.12          2015-11-19
-------------------------
- The release version.


15.11 beta     2015-11-14
-------------------------
- Some bugs were fixed.


15.10 beta     2015-11-01
-------------------------
- The BUG in 9.21 - 15.09 was fixed:
  7-Zip could ignore some parameters, specified for archive creation operation
  for gzip and bzip2 formats in "Add to Archive" window and in command line
  version (-m switch).
- Some bugs were fixed.


15.09 beta     2015-10-16
-------------------------
- 7-Zip now can extract ext2 and multivolume VMDK images.
- Some bugs were fixed.


15.08 beta     2015-10-01
-------------------------
- 7-Zip now can extract ext3 and ext4 (Linux file system) images.
- Some bugs were fixed.


15.07 beta     2015-09-17
-------------------------
- 7-Zip now can extract GPT images and single file QCOW2, VMDK, VDI images.
- 7-Zip now can extract solid WIM archives with LZMS compression.
- Some bugs were fixed.


15.06 beta     2015-08-09
-------------------------
- 7-Zip now can extract RAR5 archives.
- 7-Zip now doesn't sort files by type while adding to solid 7z archive.
- new -mqs switch to sort files by type while adding to solid 7z archive.
- The BUG in 7-Zip File Manager was fixed:
  The "Move" operation to open 7z archive didn't delete empty files.
- The BUG in 15.05 was fixed:
  console version added some text to the end of stdout stream, is -so switch was used.
- The BUG in 9.30 - 15.05 was fixed:
  7-Zip could not open multivolume sfx RAR archive.
- Some bugs were fixed.


15.05 beta     2015-06-14
-------------------------
- 7-Zip now uses new installer.
- 7-Zip now can create 7z, xz and zip archives with 1536 MB dictionary for LZMA/LZMA2.
- 7-Zip File Manager now can operate with alternate file streams at NTFS
  volumes via "File / Alternate Streams" menu command.
- 7-Zip now can extract .zipx (WinZip) archives that use xz compression.
- new optional "section size" parameter for BCJ2 filter for compression ratio improving.
  Example: -mf=BCJ2:d9M, if largest executable section in files is smaller than 9 MB.
- Speed optimizations for BCJ2 filter and SHA-1 and SHA-256 calculation.
- Console version now uses stderr stream for error messages.
- Console version now shows names of processed files only in progress line by default.
- new -bb[0-3] switch to set output log level. -bb1 shows names of processed files in log.
- new -bs[o|e|p][0|1|2] switch to set stream for output messages;
      o: output, e: error, p: progress line; 0: disable, 1: stdout, 2: stderr.
- new -bt switch to show execution time statistics.
- new -myx[0-9] switch to set level of file analysis.
- new -mmtf- switch to set single thread mode for filters.
- The BUG was fixed:
  7-Zip didn't restore NTFS permissions for folders during extracting from WIM archives.
- The BUG was fixed:
  The command line version: if the command "rn" (Rename) was called with more
  than one pair of paths, 7-Zip used only first rename pair.
- The BUG was fixed:
  7-Zip crashed for ZIP/LZMA/AES/AES-NI.
- The BUG in 15.01-15.02 was fixed:
  7-Zip created incorrect ZIP archives, if ZipCrypto encryption was used.
  7-Zip 9.20 can extract such incorrect ZIP archives.
- Some bugs were fixed.
  

9.38 beta      2015-01-03
-------------------------
- Some bugs were fixed.


9.36 beta      2014-12-26
-------------------------
- The BUG in command line version was fixed:
  7-Zip created temporary archive in current folder during update archive
  operation, if -w{Path} switch was not specified.
  The fixed 7-Zip creates temporary archive in folder that contains updated archive.
- The BUG in 9.33-9.35 was fixed:
  7-Zip silently ignored file reading errors during 7z or gz archive creation,
  and the created archive contained only part of file that was read before error.
  The fixed 7-Zip stops archive creation and it reports about error.
- Some bugs were fixed.


9.35 beta      2014-12-07
-------------------------
- The BUG was fixed:
  7-Zip crashed during ZIP archive creation, if the number of CPU threads was more than 64.
- The BUG in 9.31-9.34 was fixed:
  7-Zip could not correctly extract ISO archives that are larger than 4 GiB.
- The BUG in 9.33-9.34 was fixed:
  The option "Compress shared files" and -ssw switch didn't work.
- The BUG in 9.26-9.34 was fixed:
  7-Zip File Manager could crash for some archives open in "Flat View" mode.
- Some bugs were fixed.


9.34 alpha     2014-06-22
-------------------------
- The BUG in 9.33 was fixed:
  Command line version of 7-Zip could work incorrectly, if there is relative
  path in exclude filename optiton (-x) and absolute path as include filename.
- The BUG in 9.26-9.33 was fixed:
  7-Zip could not open some unusual 7z archives that were created by another
  software (not by 7-Zip).
- The BUG in 9.31-9.33 was fixed:
  7-Zip could crash with switch -tcab.


9.33 alpha     2014-06-15
-------------------------
- 7-Zip now can show icons for 7-Zip items in Explorer's context menu.
- "Add to archive" dialog box:
    - new options in "Path Mode"
    - new option "Delete files after compression"
    - new "NTFS" options for WIM and TAR formats:
	- Store symbolic links
	- Store hard links
	- Store alternate data streams
	- Store file security
- "Extract" dialog box:
    - new optional field to set output folder name
    - new option "Eliminate duplication of root folder"
    - new option "Absolute pathnames" in "Path Mode".
    - new option "Restore file security" (that works for WIM archives only)
- 7-Zip File Manager:
    - new "File / Link" dialog box in to create  symbolic links and hard links.
- Command line version:
    - new -spd switch to Disable wildcard matching for file names
    - new -spe switch to Eliminate duplication of root folder for extract archive command
    - new -snh switch to store hard links as links (WIM and TAR formats only)
    - new -snl switch to store symbolic links as links (WIM and TAR formats only)
- NSIS support was improved.
- The problem was fixed:
    The command "extract to \*" with multiple archives could use same
    output folder, if archives are placed inside PE (EXE) file.
- The BUG of 9.31-9.32 was fixed:
    Command line version for test and extract commands returned the
    value 0 as exit code, if it couldn't open archive.
- The BUG was fixed:
    7-Zip could not create archives with anti-items for any archive type,
    except of 7z type
- Some bugs were fixed.
- New localization: Mongolian (script).


9.32 alpha     2013-12-01
-------------------------
- 7-Zip now can create multivolume SFX archives in 7z format.
  Standalone sfx module now can unpack external 7z archive with name that is
  matched to name of sfx module. For example, sfx module renamed to archive.exe
  can unpack archive.7z or archive.7z.001 .
- ZIP, NSIS, HFS, AR support was improved.
- 7-Zip now supports files larger than 4 GiB in ISO archives.
- Improved compression ratio in 7z format with maximum or ultra level for
  executable files (EXE and DLL) that are larger than 16 MB (improved BCJ2 filter).
- Improved support for file pathnames longer than 260 characters.
- CRC and SHA checksum calculation for files can be called via Explorer's context menu.
- 7-Zip File Manager now also takes into account the numbers in filenames for sorting order.
- 7-Zip File Manager now can use RAM buffers instead of temp files to open
  nested archives, if temp file is smaller than 1/4 of RAM size.
- 7-Zip File Manager can open files in "Parser" mode via "Open Archive > #" context
  menu command. It shows the list of archives inside file.
- Command line version:
    - new -t# switch to open file in "Parser" mode and show the list of archives inside file.
    - new -stx{Type} switch to exclude archive type from using.
    - -scs switch now supports UTF-16 encoding.
    - now it shows time and memory usage statistics at the end of execution.
- The BUGs were fixed:
    - 7-Zip 9.30 and early versions created ZIP archives with minor errors
      in extra field of headers for directory items, if AES (WinZip-AES) encryption was used.
    - 7-Zip could work incorrectly in decompression of more than one
      multi-volume archive in one command.
    - 7-Zip 9.24 alpha - 9.30 alpha versions could not extract ZIP archives
      encrypted with PKWARE-AES method.
- Minimum supported system now is Windows 2000. 7-Zip doesn't work on Windows 95/98/ME.
- New localization: Irish.


9.30 alpha     2012-10-26
-------------------------
- LZMA2 now is default compression method for .7z format.
- 7-Zip now can update WIM archives.
- 7-Zip File Manager now can move files to archives.
- The default encoding for TAR format now is UTF-8. You can use -mcp=1 switch for OEM encoding.
- Command line version:
    - new "rn" command to rename files in archive.
    - new -sdel switch to delete files after including to archive.
    - new -sns switch to store NTFS alternate streams (for WIM format only).
    - new -sni switch to store NT security information for files (for WIM format only).
    - new -stl switch to set archive timestamp from the most recently modified file.
- Speed optimizations for opening big archives and big disk folders.
- 7-Zip now writes special padding blocks to headers of 7z archives for
  faster archive opening. Note that 7-Zip 4.50 - 4.58 contain BUG,
  so these old versions can't correctly work with such new 7z archives.
- DMG support was improved
- Some bugs were fixed.
- The BUG in 7-Zip 9.26 alpha - 9.29 alpha versions was fixed.
  These alpha versions could not open non-solid 7z archive, if
  some files were skipped during creation of that archive.
  That problem is also related to 7z archives created in solid mode,
  if each solid block contains no more than one file.
  Note: 7-Zip skips files that were open for writing by another
  application and shows warning in that case.
- New localization: Aragonese.


9.25 alpha     2011-09-16
-------------------------
- LZMA decompression speed was improved.
- "compress and send to email" code was improved to support more email clients.
- New command "h" to calculate hash values CRC-32, CRC-64, SHA-256 or SHA-1 for files on disk.
- New -spf switch to store full file paths including drive letter to archive.
  If you use that switch with extract command, please check that file names in archive are correct.
- Some bugs were fixed.


9.23 alpha     2011-06-07
-------------------------
- The format of language files was changed.
- Some bugs were fixed.
- New localization: Karakalpak.


9.22 beta      2011-04-18
-------------------------

- 7-Zip now uses progress indicator displayed on a taskbar button under Windows 7.
- The BUG in 7-Zip 9.21 beta was fixed:
    7-Zip could ignore some options when you created ZIP archives.
    For example, it could use ZipCrypto cipher instead of AES-256.


9.21 beta      2011-04-11
-------------------------
- 7-Zip now can unpack UEFI BIOS files.
- 64-bit version of 7-Zip now includes additional 32-bit shell extension DLL.
  So other 32-bit programs can call 64-bit 7-Zip via context menu.
- Now it's possible to associate 7-Zip with file types without Administrator rights.
- New -mf=FilterID switch to specify compression filter. Examples:
    7z a -mf=bcj2 a.7z a.tar
    7z a -mf=delta:4 a.7z a.wav
    7z a -mf=bcj a.tar.xz a.tar
- 32-bit 7-Zip running under 64-bit Windows now can use up to 4 GB of RAM.
- Some bugs were fixed.
- New localizations: Corsican, Kyrgyz, Ligurian.


9.20           2010-11-18
-------------------------
- Some bugs were fixed.


9.19 beta      2010-11-11
-------------------------
- The console version now doesn't show entered password.
- Some bugs were fixed.


9.18 beta      2010-11-02
-------------------------
- 7-Zip now can unpack SquashFS and CramFS filesystem images.
- 7-Zip now can unpack some TAR and ISO archives with incorrect headers.
- New small SFX module for installers (in Extra package).
- Some bugs were fixed.


9.17 beta      2010-10-04
-------------------------
- Disk fragmentation problem for ZIP archives created by 7-Zip was fixed.


9.16 beta      2010-09-08
-------------------------
- 7-Zip now supports files that are larger than 8 GB in TAR archives.
- NSIS support was improved.
- Some bugs were fixed.
- New localizations: Hindi, Gujarati, Sanskrit.


9.15 beta      2010-06-20
-------------------------
- Some bugs were fixed.
- New localization: Tatar.


9.14 beta      2010-06-04
-------------------------
- WIM support was improved.


9.13 beta      2010-04-15
-------------------------
- 7-Zip now stores NTFS file timestamps to ZIP archives.
- New additional "Open archive >" item in context menu allows to select
  archive type for some files.
- Some bugs were fixed.
- New localization: Uyghur.


9.12 beta      2010-03-24
-------------------------
- ZIP / PPMd compression ratio was improved in Maximum and Ultra modes.
- The BUG in 7-Zip 9.* beta was fixed: LZMA2 codec didn't work,
  if more than 10 threads were used (or more than 20 threads in some modes).


9.11 beta      2010-03-15
-------------------------
- 7-Zip now supports PPMd compression in ZIP archives.
- Speed optimizations in PPMd codec.
- The support for archives in installers was improved.
- Some bugs were fixed.
- New localization: Kazakh.
   

9.10 beta      2009-12-22
-------------------------
- The BUG in 7-Zip 9.09 beta was fixed:
    7-Zip created incorrect ZIP archives, if ZipCrypto encryption was used.
    

9.09 beta      2009-12-12
-------------------------
- 7-Zip now can unpack Apple Partition Map (APM) disk images.
- Speed optimizations in AES code for Intel's 32nm CPUs.
- Speed optimizations in CRC calculation code for Intel's Atom CPUs.
- Some bugs were fixed.


9.07 beta      2009-08-27
-------------------------
- It's possible to specify Diff program in options (7-Zip File Manager).
- Some bugs were fixed.


9.06 beta      2009-08-17
-------------------------
- 7-Zip now can unpack MSLZ archives.
- Partial parsing for EXE resources, SWF and FLV.
- Some bugs were fixed.


9.04 beta      2009-05-30
-------------------------
- 7-Zip now can update solid .7z archives.
- 7-Zip now supports LZMA2 compression method.
- 7-Zip now supports XZ archives.
- 7-Zip now can unpack NTFS, FAT, VHD and MBR archives.
- 7-Zip now can unpack GZip, BZip2, LZMA, XZ and TAR archives from stdin.
- 7-Zip now can open/copy/compress disk images (like \\.\c:) from \\.\ folder.
- 7-Zip File Manager now doesn't use temp files to open nested archives
  stored without compression.
- New -scrc switch to calculate total CRC-32 during extracting / testing.
- New -scc{WIN|DOS|UTF-8} switch to specify charset for console input/output (default = DOS).
- Some bugs were fixed.


4.65           2009-02-03
-------------------------
- 7-Zip File Manager now can calculate SHA-256 checksum.
- Some bugs were fixed.


4.64           2009-01-03
-------------------------
- The bug in 7-Zip 4.63 was fixed: 7-Zip could not decrypt .ZIP archives
  encrypted with WinZip-AES method.


4.63           2008-12-31
-------------------------
- 7-Zip now can unpack ZIP archives encrypted with PKWARE-AES.
- Some bugs were fixed.


4.62           2008-12-02
-------------------------
- Some bugs were fixed.


4.61 beta      2008-11-23
-------------------------
- 7-Zip now supports LZMA compression for .ZIP archives.
- Some bugs were fixed.
- New localization: Sinhala.


4.60 beta      2008-08-19
-------------------------
- Some bugs were fixed.


4.59 beta      2008-08-13
-------------------------
- 7-Zip now can unpack UDF, XAR and DMG/HFS archives.
- 7-Zip File Manager now keeps encryption when you edit encrypted file inside archive.
- 7-Zip File Manager now allows to change current folder from the address bar drop-down list.
- It's allowed to use -t switch for "list" and "extract" commands.
- Some bugs were fixed.
- New localizations: Icelandic, Kurdish Sorani.


4.58 beta      2008-05-05
-------------------------
- Some speed optimizations.
- 7-Zip now can unpack .lzma archives.
- Unicode (UTF-8) support for filenames in .ZIP archives. Now there are 3 modes:
    1) Default mode: 7-Zip uses UTF-8, if the local code page doesn't contain required symbols.
    2) -mcu switch:  7-Zip uses UTF-8, if there are non-ASCII symbols.
    3) -mcl switch:  7-Zip uses local code page.
- Now it's possible to store file creation time in 7z and ZIP archives (-mtc switch).
- 7-Zip now can unpack multivolume RAR archives created with
  "old style volume names" scheme and names *.001, *.002, ...
- Now it's possible to use -mSW- and -mSW+ switches instead of -mSW=off and -mSW=on
- Some bugs were fixed.
- New localizations: Punjabi (Indian), Pashto.


4.57           2007-12-06
-------------------------
- The BUG in command line version was fixed: -up3 switch
  could work incorrectly.


4.56 beta      2007-10-24
-------------------------
- Some bugs were fixed.


4.55 beta      2007-09-05
-------------------------
- Some bugs were fixed.


4.54 beta      2007-09-04
-------------------------
- Decompression speed was increased.


4.53 beta      2007-08-27
-------------------------
- "Test" and "Info" buttons now work for open archives.
- The bug in 7-Zip 4.48 - 4.52 beta was fixed:
    7-Zip could create .ZIP archives with broken files.
- Some bugs were fixed.


4.52 beta      2007-08-03
-------------------------
- 7-Zip now can unpack Compound files (msi, doc, ...).
- Some bugs were fixed.


4.51 beta      2007-07-25
-------------------------
- Bug was fixed: 7-Zip 4.50 beta could not open some .7z archives.


4.50 beta      2007-07-24
-------------------------
- New switch for command line version:
    -ssc[-] enables/disables case-sensitive mode for file names.
- Speed optimizations for AES encryption.
- Some bugs were fixed.


4.49 beta      2007-07-11
-------------------------
- 7-Zip now can unpack WIM archives.
- 7-Zip now replaces incorrect characters in filenames during extracting.


4.48 beta      2007-06-26
-------------------------
- Encryption strength for .7z format was increased.
  Now it uses random initialization vectors.
- Some bugs were fixed.


4.47 beta      2007-05-27
-------------------------
- Bugs of 7-Zip 4.46 beta were fixed: BZip2 could work incorrectly.


4.46 beta      2007-05-25
-------------------------
- New fast compression mode for Deflate method in Zip and GZip.
- New "Compress shared files" option in GUI and -ssw switch.
- Some bugs were fixed.
- New localization: Norwegian Nynorsk.


4.45 beta      2007-04-17
-------------------------
- Now it's possible to specify the size of solid block and the number
  of CPU threads in "Add to archive" dialog box.
- Default dictionary size was increased: Normal: 16 MB, Max: 32 MB.
- Speed optimizations.
- Benchmark was improved (new "b" command in command line version).
- The number of DLL files was reduced.
- Now it's possible to associate 7-zip with combined types like .tbz2
- switch -mhcf=off is not supported now.
- If -t{Type} switch is not specified, 7-Zip now uses extension of archive to
  detect the type of archive.
- Some bugs were fixed.
- New localization: Welsh.


4.44 beta      2007-01-20
-------------------------
- Speed optimizations for LZMA, Deflate, BZip2 and unRAR.
- 7-Zip now supports file pathnames longer than 260 characters.
- Some bugs were fixed.
- New localizations: Bangla, Bashkir, Nepali.


4.43 beta      2006-09-15
-------------------------
- 7-Zip now can use multi-threading mode for compressing to .ZIP archives.
- ZIP format supporting was improved.
- 7-Zip now supports WinZip-compatible AES-256 encryption for .ZIP archives.
- New context menu items for .ZIP archives creating.
- 7-Zip now uses order list (list of extensions) for files sorting for compressing
  to .7z archives. It can slightly increase compression ratio in some cases.
- 7-Zip now restores modification time of folders during .7z archives extracting.
- Some bugs were fixed.
- New localizations: Armenian, Marathi.



4.42           2006-05-14
-------------------------
- Compressing speed and Memory requirements were increased.
  Default dictionary size was increased: Fastest: 64 KB, Fast: 1 MB,
  Normal: 4 MB, Max: 16 MB, Ultra: 64 MB.
- BZip2 compressing / decompressing now can work in multi-threading mode
- Multi-threading mode now is default for multi-processor systems
- 64-bit version now supports 1 GB dictionary
- 7z/LZMA now can use only these match finders: HC4, BT2, BT3, BT4
- Compression ratio in Zip/GZip/Deflate in Ultra mode was increased
- 7-Zip now can unpack ISO archives and some installers created by NSIS
- Optional "Flat View" mode in 7-Zip File Manager
- 7-Zip File Manager now can calculate CRC checksums for files
- -x switch with relative paths now affects files specified with absolute paths
- New switch for 7za.exe (console version): -slt.
  "l" (list) command with -slt shows technical information for archive.
- New switch: -scs{WIN|DOS|UTF-8} specifies charset for list files.
  Default charset for list files is UTF-8 now.
- Some bugs were fixed
- New localizations: Albanian, Kurdish


4.32           2005-12-09
-------------------------
- Bug was fixed: 7-Zip 4.31 didn't work in Windows 95


4.31           2005-12-04
-------------------------
- Small changes
- New localization: Basque


4.30 beta      2005-11-18
-------------------------
- Files 7zFMn.exe, 7zGn.exe, 7-zipn, 7za.exe, 7zC.sfx were removed from 7-zip package
- 7-Zip now uses uncompressed SFX: 7z.sfx
- Sfx modules 7z.sfx and 7zCon.sfx now use msvcrt.dll
- Speed optimizations in LZMA maximum/ultra compressing.
- LZMA now supports word size up to 273
- 7-Zip now reduces dictionary size for LZMA, if you compress files
  smaller than specified dictionary size.
- 7-Zip now can use large memory pages:
    GUI: 7-Zip File Manager / Options / Settings / Use large memory pages.
    Command line version: -slp switch.
  This feature allows to increase speed of compressing.
  But 7-Zip can make some pause at starting of compressing for allocating large pages.
  Also Task Manager doesn't show real memory usage of program, if 7-Zip uses large pages.
  This feature works only on Windows 2003 / XP x64 / Vista.
  Also you must have administrator's rights for your system.
  Recommended size of RAM: 1 GB or more.
  To install this feature you must run 7-Zip File Manager at least once,
  close it and reboot system.
- Some bugs were fixed
  

4.29 beta      2005-09-28
-------------------------
- Bug was fixed: 7-Zip 4.28 beta worked incorrectly in Windows 95/98/Me


4.28 beta      2005-09-27
-------------------------
- Bug was fixed: 7-Zip 4.27 beta created incorrect multivolume archives.
- "Duplicate filename" collision problem between names with ligatures was fixed.


4.27 beta      2005-09-21
-------------------------
- 7-Zip can unpack CHM/HXS (MS HTML HELP) archives
- 7-Zip can unpack multivolume CAB archives
- Now 7-Zip deletes files to the Recycle Bin by default.
  Shift+Delete deletes files permanently.
- Some bugs were fixed
- New localization: Tatarish


4.26 beta      2005-08-05
-------------------------
- LZH format support (extracting only)
- Some bugs were fixed
- New localization: Ido


4.25 beta      2005-07-31
-------------------------
- 7-Zip now doesn't interrupt the compressing when it can not
  find specified file as in version 4.24 beta. It just shows warning.
- 7-Zip now supports standard selection mode in the file list
- Some bugs were fixed


4.24 beta      2005-07-06
-------------------------
- 7-Zip now supports right-click Drag and Drop in Explorer
- Command line version now supports short file names (like FILENA~1.TXT)
- If there are no wildcard names and there is no -r switch in command line,
  7-Zip now checks that specified files exist on disk before compressing.
- Some bugs were fixed


4.23           2005-06-29
-------------------------
- Drag and Drop support
- 7-Zip File Manager now can copy files from one archive to another
- Some bugs were fixed
- New localizations: Extremaduran, Malay


4.20           2005-05-30
-------------------------
- No changes


4.19 beta      2005-05-21
-------------------------
- BZip2 code was rewritten. Now it supports 3 modes: Normal, Maximum and
  Ultra. In Normal mode it compresses almost as original BZip2 compressor.
  Compression ratio in Maximum and Ultra modes is 1-3% better for some files,
  but Maximum Mode is about 3 times slower and Ultra Mode is about 8 times
  slower than Normal mode.
- Console version now prints all messages to stdout by default,
  and if -so switch is specified, 7-Zip prints messages to stderr.
- Some bugs were fixed
- New localizations: Azeri, Georgian


4.18 beta      2005-04-19
-------------------------
- Bug in v4.17 beta was fixed: 7-Zip File Manager could crash
  after some operations with archives

  
4.17 beta      2005-04-18
-------------------------
- To increase protection from viruses, 7-Zip now does not open
  files with more than 4 continuous spaces in the name.
  And 7-Zip changes such long spaces in name to " ... " in the file list.
- Code size optimization
- Some files were moved from main package to extra package:
    - Plugin for FAR Manager
    - SFX modules for installers (7zS.sfx and 7zSD.sfx)
- New localizations: Asturian, Indonesian


4.16 beta      2005-03-29
-------------------------
- Speed optimization (5%) for 7z / LZMA
- 7za.exe now supports .Z archives
- -r- switch in command line now is default for all commands
- Some bugs were fixed
- New localization: Uzbek


4.15 beta      2005-01-25
-------------------------
- Z format supporting (extracting only)
- 7-Zip now can extract ZIP archives compressed with "Shrink" method
- 7-Zip now doesn't interrupt the compressing when it can not open file.
  7-Zip just skips that file and shows warning.
- Some bugs were fixed
- New localization: Frisian


4.14 beta      2005-01-11
-------------------------
- 7-Zip installer was created with NSIS.
  Now it installs 7-Zip for all users (under Windows 2000/XP).
- Now 7-Zip can create multivolume archives
  (switch -v for command line)
- Some bugs were fixed
- New localizations: Breton, Farsi


4.13 beta      2004-12-14
-------------------------
- Switch "--" stops switches parsing
- Some bugs were fixed


4.12 beta      2004-11-18
-------------------------
- Bug in v4.11 beta was fixed:
    7-Zip created incorrect ZIP archives if file size was
    from 3.75 GB to 4 GB.


4.11 beta      2004-11-16
-------------------------
- 7-Zip now shows file names during compressing/decompressing
- 7-Zip now supports Zip64 extension of ZIP format. So now it's
  possible to compress files bigger than 4 GB to ZIP archives.
- Some bugs were fixed
- New localization: Galician


4.10 beta      2004-10-21
-------------------------
- Bugs in v4.0* were fixed:
  - Some commands in command line with "-r" switch worked incorrectly,
    so 7-zip could skip some files during compressing
  - Some other bugs were fixed
- Small internal changes

  
4.09 beta      2004-10-05
-------------------------
- Bugs in v4.0* were fixed:
  - Renaming inside archives didn't work or worked incorrectly
  - GUI SFX didn't show extracting dialog at start
- Small fixes in 7-Zip GUI (7zG.exe)


4.08 beta      2004-10-04
-------------------------
- Bug in installer for v4.07 was fixed: when rebooting
  is required, it rebooted without asking user
- Small fixes in 7-Zip GUI (7zG.exe)


4.07 beta      2004-10-03
-------------------------
- Big amount of code was changed in this beta version.
  So don't use it for important data compressing.
  And test archive after compressing.

- Unified command line interface to GUI and console versions
- 7-Zip now can extract or test several archives in one command
- 7-Zip now doesn't interrupt the compressing when file is locked by
  other application. 7-Zip just skips that file and shows warning.
  Note: previous versions of 7-Zip had bug, so they can not unpack
  non-solid and some solid 7z archives with such skipped files.
- Command line interface was changed:
    - now it's possible to use absolute pathnames
    - syntax simplification:
        was: 7z a a Folder1\* Folder2\* -r
        now: 7z a a Folder1 Folder2
    - now it's possible to use complex wildcard commands, like *\*111*\*
- More smart detection of archive type for files with unusual
  file name extensions
- Supporting for RAR archives with encrypted headers
- CPIO format supporting was improved
- For GZip and BZip2 formats you can:
    - Compress from stdin (-si switch)
    - Compress to stdout (-so switch)
    - Extract to stdout (-so switch)
- 7-Zip File Manager:
  - Split and Combine commands
  - new list view options: Full row select, Show grid lines
- Internal reconstruction
- Some bugs were fixed
- New localizations: Friulian, Macedonian, Mongolian, Tamil, Thai


3.13           2003-12-11
-------------------------
- Some small bugs were fixed


3.12           2003-12-10
-------------------------
- Now you can select compression method, dictionary size
  and word size in "Add to archive" dialog box. Also it
  shows memory usage.
- 7-Zip File Manager now contains toolbars.
- New "Benchmark" command in 7-Zip File Manager.
  It measures compressing and decompressing speeds and
  shows rating values.
- Some bugs were fixed.


3.11           2003-10-06
-------------------------
- 7-zip now use limitations for solid block size
  for increasing the speed of random file decompressing:
    - in Store mode:     0  B
    - in Fast mode:     16 MB
    - in Normal mode:  256 MB
    - in Maximum mode:   1 GB
    - in Ultra mode:     4 GB
- 7z.exe, 7za.exe and SFX modules now support Unicode
  file names under Windows NT/2000/XP/2003.
  7zn.exe and 7zan.exe were removed from package.
- Some bugs were fixed
- New localization: Afrikaans

  
3.10           2003-09-27
-------------------------
- Drag-and-Drop from external application
- GUI version (7zG.exe) can compress files with absolute paths
- Compression dialog doesn't suggest bzip2 and gzip2 types when
  there are more than one selected file
- Optional auto renaming for existing files during extraction
  in command line version (-aot switch).
- Some bugs were fixed


3.09.02        2003-09-20
-------------------------
- Optional limitation for solid block size for increasing
  the speed of random file decompressing (-ms switch)


3.09.01 beta   2003-09-06
-------------------------
- Automatic compression filter for executable files:
  dll, exe, ocx, sfx, sys, (-mf switch)
- Compression levels in 7z now are:
    - Fast:    32 KB dictionary, BCJ filter
    - Normal:   2 MB dictionary, BCJ filter
    - Maximum:  8 MB dictionary, BCJ filter, max settings
    - Ultra:   32 MB dictionary, BCJ2 filter, max settings
- Updating solid 7z archives now is supported, if it doesn't
  require repacking solid blocks
- -mhcf switch for 7z format now is default
- Some bugs were fixed


3.08.04 beta   2003-08-24
-------------------------
- Favorites menu in 7-Zip File Manager
- Some bugs were fixed


3.08.03 beta   2003-08-21
-------------------------
- Automatic adding of extension to archive name in Compress Dialog
- Some bugs in previous 3.08.* versions were fixed:
    - Storing columns width inside archives in File Manager
    - Opening archive inside archive
    - Quotes in list files in console version


3.08.02 beta   2003-08-20
-------------------------
- Some bugs were fixed


3.08 beta      2003-08-19
-------------------------
- Compress dialog:
   - Supporting fast compressing mode (-mx=1 switch)
   - Multi-threading option for Multi-Processor systems
     or Pentium 4 with Hyper-Threading
   - Encrypt file names option
- New context menu items:
   - Extract here
   - Extract to <Folder>
   - Compress and email
- Internal reconstruction, registry using was reduced
- New localization: Esperanto


2.30 Beta 32   2003-05-15
-------------------------
- New features in compressing / decompressing window.
- "Show password" option.
- Some other small changes.
- New localization: Valencian.


2.30 Beta 31   2003-04-29
-------------------------
- Some bugs were fixed.


2.30 Beta 30   2003-04-19
-------------------------
- 7-Zip File Manager:
   - Showing .. item.
   - 1/2 Panels mode switching (F9).
- Supporting Bzip2 compression in ZIP archives.
- Some bugs were fixed.
- Some optimization recompiling for reducing code size.


2.30 Beta 29   2003-04-07
-------------------------
- 7-Zip File Manager:
   - "7-Zip" and "System" submenus in "Files" menu.
   - Path history and "Browse" button in "Copy" dialog.
- RAR supporting was improved.
- Some bugs were fixed.
- Small changes in LZMA code.
- New localizations: Hebrew, Vietnamese.


2.30 Beta 28   2003-02-16
-------------------------
- Some bugs were fixed:
   - Updating 7z archives that are larger than 4 GB.
   - Using anti-items in 7z format.
   - Compressing empty files with password to zip format.
- In max mode 7z now uses 8 MB dictionary instead of 4 MB.
- 7-Zip File Manager:
   - Supporting file comments: Ctrl-Z.
   - New key alias for folder bookmarks: [Shift]+Alt+Number.


2.30 Beta 27   2003-01-24
-------------------------
- Two BUGs in two previous beta versions (Beta 25 and Beta 26)
  were fixed:
    1. Incorrect compressing to non-solid 7z archive
       when files have some very big sizes:
       4 GB, 8 GB, 12 GB, 16 GB, ...
    2. Incorrect percent showing in 7z compressing
       when files are bigger than 4 GB.
- Supporting multivolume RAR and SPLIT archives.
- Supporting DEB archives.
- Supporting old version of CPIO format.
- Some bugs were fixed.
- New localizations: Korean, Swedish.


2.30 Beta 26   2003-01-12
-------------------------
- Supporting Deflate64 method in Zip archives.
- Supporting Rar 1.50 archives.
- Some bugs were fixed.


2.30 Beta 25   2003-01-02
-------------------------
- Encryption feature for 7z format (AES-256).
- New optional archive header compressing mode (-mhcf).
- Archive headers now always are compressed with LZMA method.
- Updating non-solid 7z archives without -ms=off now is allowed.
- Folder creating and item renaming inside archive now is supported.
- Supporting encrypted Rar3 archives.
- Supporting Unicode names in Rar3 archives.
- Some bugs were fixed.
- New localizations: Lithuanian, Voro.


2.30 Beta 24   2002-11-01
-------------------------
- Some internal reconstructions.
- -m switch syntax was slightly changed.
- Some bugs were fixed.
- New localizations: Catalan, Norwegian, Romanian.

  
2.30 Beta 23   2002-09-07
-------------------------
- Encryption feature for zip format.
- Percent indicating for some operations.
- Some bugs were fixed.

  
2.30 Beta 22   2002-08-31
-------------------------
- New program: 7-Zip File Manager.
- Command line version now doesn't allow absolute paths
  for compressing files.
- New localizations: Belarusian, Greek.
- Bug in FAR plugin was fixed:
    Incorrect updating when archive has no explicit
    directory items for file items.
- Some bugs were fixed.

  
2.30 Beta 21   2002-07-08
-------------------------
- RAM requirements for LZMA (7z) compression were reduced.
- Small bug in FAR plugin was fixed.


2.30 Beta 20   2002-07-01
-------------------------
- RAM requirements for LZMA (7z) decompression were reduced.
- New localization: Turkish.
- Some bugs were fixed.


2.30 Beta 19   2002-04-11
-------------------------
- Supporting RAR 3.0 archives.
- New localizations: Danish, Ukrainian.


2.30 Beta 18   2002-03-25
-------------------------
- Compressing speed in 7z format was slightly increased.
- New localizations: Estonian, Finnish.
- Some bugs were fixed.


2.30 Beta 17   2002-03-03
-------------------------
- Supporting ARJ archives.
- New localization: Chinese Simplified.


2.30 Beta 16   2002-02-24
-------------------------
- Supporting RPM and CPIO archives.
- New fast compression mode for LZMA: -m0a=0.
- New match finders for LZMA: bt4b, hc3, hc4.
- Some bugs were fixed.


2.30 Beta 15   2002-02-17
-------------------------
- Compression ratio in 7z was slightly improved.
- New localization: Dutch.


2.30 Beta 14   2002-02-10
-------------------------
- Speed optimization for multiprocessor computers (-mmt switch).
- New localizations: Czech, Japanese, Polish.
- Some bugs were fixed.


2.30 Beta 13   2002-01-31
-------------------------
- New SFX module for installers.
- New match finder for LZMA: bt3.
- New localizations: Portuguese, Portuguese Brazil, Serbo-Croatian.
- Some bugs were fixed.


2.30 Beta 12   2002-01-16
-------------------------
- Bug was fixed: memory leak in Beta 11.
- New localization: Hungarian.


2.30 Beta 11   2002-01-15
-------------------------
- Archive testing feature for GUI version.
- Now 7-Zip can use more than 256 MB of RAM in all Windows versions.
- New localizations: Bulgarian, Chinese Traditional, Latvian, Slovak.
- Some bugs were fixed.


2.30 Beta 10   2002-01-11
-------------------------
- Bugs were fixed:
    - Updating 7z archives in Beta 8 and 9 didn't work.
    - Unicode version in Beta 9 didn't work in Windows NT4.
    - Some other bugs were fixed.
- New localizations: Arabic, French, Italian, Slovenian, Spanish.


2.30 Beta 9    2002-01-08
-------------------------
- Program localization: English, German, Russian.
- Additional optimized versions of programs
  for Windows NT4/2000/XP.
- Two new match finders for LZMA: pat3h and pat4h.
- Some bugs were fixed.


2.30 Beta 8    2001-12-21
-------------------------
- 7-Zip now supports some zip archives that were not
  supported by previous versions.
- 7-Zip now supports new state (-uw switch) for cases
  when 7-Zip can not detect whether file is newer or the same.
- Supporting anti-items in 7z format for incremental
  update (-u with action #3).
- Some bugs were fixed.


2.30 Beta 7    2001-11-04
-------------------------
- BCJ2: new converter for x86 code.
- Supporting tar archives with very long file names
  (GNU extension to 'tar' format).
- Supporting multistream coders in 7z (-mb switch).
- More compressing parameters for zip and gzip
  in console version (-m switch).
- Solid compressing option in Windows version.
- Compressing parameters option in Windows version.
- Auto renaming existing files feature for
  extracting files.
- Overwrite mode switch for extracting (-ao).
- Some bugs were fixed.


2.30 Beta 6    2001-10-13
-------------------------
- Supporting 7z format in MultiArc plugin for FAR Manager.
- Some bugs were fixed.


2.30 Beta 5    2001-10-02
-------------------------
- Creating SFX archives from explorer.
- 7zWin.sfx: Windows version of SFX module.
- Auto adding .exe extension to SFX archive name.
- 7za.exe now supports 7z, bzip2, gzip, tar, zip.
- Some bugs were fixed.


2.30 Beta 4    2001-09-15
-------------------------
- Self extract capability for 7z format.
- 7z archive format is default for 7z.exe and 7za.exe.
- 7z in default mode now uses bt234 match finder
  and solid compression.
- 7z in maximum mode (-mx) now uses 4MB dictionary.


2.30 Beta 3    2001-09-10
-------------------------
- Bug was fixed: decompressing .7z solid archives
  containing empty files.
- new 7za.exe: standalone command line version
  (only for 7z format).
- Speed of compressing to Deflate format (zip, gzip)
  was slightly increased.


2.30 Beta 2    2001-08-30
-------------------------
- Supporting the new 7z format with high compression ratio.
- -bd (Disable percentage indicator) switch in
  console version.
- Bug in console version was fixed:
    previous versions incorrectly execute compression
    commands with non-recursive wildcards in combination
    with subfolders.
- Some other bugs were fixed.


2.30 Beta 1    2001-05-07
-------------------------
- Speed of reading of archive contents was increased.
- Bug was fixed: incorrect showing file names with
  national charsets in some zip archives.
- Now it is possible to compress files larger than 4GB
  to GZip archives.


2.24           2001-03-21
-------------------------
- Bugs in GZip and Cab decoders were fixed.


2.23           2001-03-04
-------------------------
- Opening archive items in Explorer.
- Context menu for archive items in Explorer.
- Automatic adding extension to archive name in console version.
- Some bugs were fixed.


2.22           2001-01-21
-------------------------
- Supporting Zip archives containing more than 65535 files.
- Speed of Plugin for Explorer was increased.
- Searching start position of archive now is limited by
  first 1MB part of file.
- Some bugs were fixed.
- Packet now doesn't contain 7zip.exe, far7zip.reg and
  far7zip2.reg files. There is new far7z.reg file.


2.21           2000-12-21
-------------------------
- FAR Plugin was improved:

    - Showing process box during opening archives.
    - Viewing properties of file by Ctrl-A.
    - Alt-F6 in archive now immediately extracts selected files
      to current directory.
      
- Some bugs were fixed:
    
    - Entering to archive's subfolders in Explorer by clicking
      items in main window didn't work under Windows ME/2000.
    - Decompressing solid Rar archives sometimes gave error.
    - Console version 7z.exe during list operation incorrectly
      showed file names with national (non-english) charsets.
    - FAR Plugin didn't execute some operations.
    - Showing percents during extracting ZIP archives sometimes
      was incorrect.


2.20           2000-11-20
-------------------------
- Supporting BZip2 and Cab.
- New program architecture with external
  compression and cryptographic modules.
- Decryption support (Rar and Zip).
- New console client.
- Some bugs were fixed.


2.11           2000-06-15
-------------------------
- Bugs were fixed:

    - FAR Plugin incorrectly processed
      names of subdirectories that use national
      (non-english) charsets.
    - gzip plugin could not compress empty files.


2.10           2000-05-16
-------------------------
- First level 7-Zip Plugin for FAR Manager.
- GUI version with integration to Windows Shell.
- Compression and decompressing GZip and TAR formats.
- Decompression RAR.
- Install & Uninstall support.
- Some bugs were fixed.


2.01           1999-09-19
-------------------------
- Small bug was fixed.
- Compression ratio was improved for some files.


2.00           1999-07-18
-------------------------
- Release.
- Big bug was fixed: previous versions incorrectly worked
    during compressing with files that were referred by
    direct(without wildcards) paths, containing subdirs parts.
- Compression and decompression speed were improved.
- -mx switch (maXimize compression) was added.
- Small bugs were fixed.


2.00 Beta 1    1999-01-02
-------------------------
- Original beta version.


End of document
posted @ 2024-11-26 17:59  suv789  阅读(85)  评论(0编辑  收藏  举报