zoukankan      html  css  js  c++  java
  • 7zip命令行调用

    7z a -tzip -p111 archive.7z txt.txt  压缩 密码为111
    7z x -tzip -p111 archive.7z            解压 密码为111
    7z.exe 是 7-Zip 的命令行版本。7z.exe 使用 7-Zip 的其它模块,7za.exe 是7-Zip 的独立版本,7za.exe 仅支持 7z、zip、gzip、bzip2 和 tar 格式,7za.exe 使用时不会调用其它模块。

    命令行选项 
    7z [命令行] [[选项]...] [基本档案名称] [[参数变量]...]
    7z [command] [[switch]...] [base_archive_name] [[arguments]...]
    [参数变量] ::= [选项] | [通配符] | [文件名] | [文件列表]
    [选项]::= [选项标记][选项字符][[选项]]
    [选项标记] ::= '/' | '-' 
    [文件列表] ::= @{文件名}
    [arguments] ::= [switch] | [wildcard] | [filename] | [list_file]
    [switch]::= [switch_symbol][switch_characters][[option]]
    [switch_symbol] ::= '/' | '-' 
    [list_file] ::= @{filename}
    在方括号内的表达式(“[” 和 “]”之间的字符)是可选的。
    在书名号内的表达式(“[” 和 “]”之间的字符)是必须替换的表达式(而且要去掉括号)。

    表达式
    expression1 | expression2 | ... | expressionN
    命令行 及 选项 使用大写或小写字母都可以。
    首个命令行必须是无选项的参数变量。
    选项及其它文件名的输入顺序可以打乱。
    带有空格的通配符或文件名必须加上引号:
    "Dir\Program files\*"
    Dir\"Program files"\*
    通配符是一个键盘字符,例如星号(*)或问号(?),当执行添加文件、释放文件、选定文件、删除文件等操作时,您可以使用它来代表一个或多个字符。当您不知道真正字符或者不想键入完整名称时,常常使用通配符代替一个或多个字符。
    7-Zip 支持和 Windows 相类似的通配符:
    “*”可以使用星号代替零个或多个字符。
    “?”可以用问号代替名称中的单个字符。
    7-Zip 使用的并不是系统处理通配符的默认方法,因而 7-Zip 不支持其它通配符规则,在系统中 *.* 相当于所有文件。而 7-Zip 会将其视为任何扩展名的全部文件。所以要处理所有文件您必须使用 * 通配符。
    示例:
    *.txt
    这样会查找(添加、选定……)所有扩展名是“.txt”的文件

    ?a*
    这样会查找(添加、选定……)所有第二个字母为“a”的文件

    *1*
    这样会查找(添加、选定……)所有包含“1”的文件

    *.*.*
    这样会查找(添加、选定……)所有包含“.”的双扩展名文件

    如果在命令行中没有文件名,系统将会使用默认通配符“*”。
    档案文件中通配符及文件名的使用限制:通配符及文件名不能包括系统盘符或网址。每个通配符及文件名路径将被视为从盘符到当前目录的完整路径/从压缩档案的根目录算起的完整路径。换句话说,路径的开始部分(在首个斜线(“\”)之前的字符)必须是某个名称或通配符。通配符及文件名不能以斜线(“\”)结尾。通配符只可以在完整路径的最后一部分中出现。
    示例:
    Dir1\*.cpp
    正确
    c:\Dir1\*.cpp
    错误:路径中不能包括盘符
    Dir1\Dir2\g?.txt
    正确
    Dir1\D?r2\file1.txt
    错误:只有在以路径的最后一部分才能使用通配符

    文件列表
    您可以使用文件列表来对要操作的文件进行批量操作。在文件中的文件名必须用空格或另起一行隔开。(如使用空格格开,每一个文件必须加引号)。
    7-Zip 命令行支持多个文件列表同时操作。
    举个例子,这里有一个文件列表“listfile.txt”包含下列内容:
    "My programs\*.cpp"
    Src\*.cpp
    那么我们可以输入命令:
    7z a -tzip archive.zip @listfile.txt
    将“My programs”及“Src”目录中所有扩展名为“cpp”的文件添加到压缩档案“archive.zip”中。

    命令行
    命令行的命令不分大小写。
    更多有关命令行的详细内容请参阅 语法。
    命令要点参考
    命令
    作用说明
    a    添加
    d    删除
    e    释放
    l    列表
    t    测试
    u    更新
    x    完整路径释放
    a (添加) 命令
    添加文件到压缩档案。
    示例
    7z a -tzip archive.zip subdir\*
    从 subdir 文件夹添加所有文件到 archive.zip 压缩档案。
    7z a -tzip Files.zip "Program files\*" -r
    从 Program 文件夹添加所有文件到 Files.zip 压缩档案。
    可以和此命令结合使用的选项
    -i (包括文件名), -m (设置压缩算法), -p (设置密码), -r (递归子目录), -t (设置压缩档案格式), -u (更新选项), -w (设置工作目录), -x (排除文件) 
    其他命令行: d (删除), u (更新)
    选项: -u (更新选项) 
    d (删除) 命令
    从压缩档案删除文件。
    示例
    7z d archive.zip *.bak
    从 archive.zip 压缩档案中删除 *.bak 文件。
    可以和此命令结合使用的选项
    -i (包括文件名), -m (设置压缩算法), -p (设置密码), -r (递归子目录), -u (更新选项), -w (设置工作目录), -x (排除文件) 
    其他命令行: a (添加), u (更新) 
    选项: -u (更新选项) 
    e (释放) 命令
    从压缩档案中释放文件到当前目录中。或者到指定的输出文件夹。输出文件夹设置可以通过 -o (设置输出文件夹) 选项来更改。
    此命令会将所有被释放的文件放置到一个文件夹。如果您想使用完整路径释放文件,您必须使用 x (完整路径释放) 命令。 
    7-Zip 在覆盖现有文件时会提示用户如何进行下一步操作。 除非用户自定义了 -y (全是) 选项。
    7-Zip 所支持的下列回应:
    回应        简写        描述
    Yes(是)    y
    No(否)    n
    Always(总是)    a    将所有的询问以 YES 来对待
    Skip(跳过)    s    将所有的询问以 NO 来对待
    Quit(退出)    q    退出程序
    示例
    7z e archive.zip
    从压缩档案 archive.zip 中释放所有文件到当前文件夹。
    7z e archive.zip -oc:\soft *.cpp
    从压缩档案 archive.zip 中释放 *.cpp 文件到 c:\soft 文件夹。可以和此命令结合使用的选项。
    -ao (覆盖模式), -i (包括文件名), -o (设置输出目录), -p (设置密码), -r (递归子目录), -x (排除文件), -y (全是) 
    其他命令行: x (完整路径释放) 
    l (列表) 命令
    列出压缩档案内容。
    示例
    7z l archive.zip
    列出压缩档案 archive.zip 的内容。
    可以和此命令结合使用的选项
    -i (包括文件名), -r (递归子目录), -x (排除文件) 
    t (测试) 命令
    测试压缩档案文件的完整性。
    示例
    7z t archive.zip *.doc
    在压缩档案 archive.zip 中测试 *.doc 文件的完整性。
    可以和此命令结合使用的选项
    -i (包括文件名), -r (递归子目录), -p (设置密码), -x (排除文件) 
    u (更新) 命令
    在压缩档案文件中使用较新的文件替换掉较旧的文件。
    示例
    7z u archive.zip *.doc
    在压缩档案 archive.zip 中更新 *.doc 文件。
    可以和此命令结合使用的选项
    -i (包括文件名), -m (设置压缩算法), -p (设置密码), -r (递归子目录), -t (设置压缩档案格式), -u (更新选项), -w (设置工作目录), -x (排除文件) 
    其他命令行: a (删除), d (删除) 
    选项: -u (更新选项) 
    x (完整路径释放) 命令
    在当前目录中,使用完整路径从压缩档案中释放文件.或者到指定的输出文件夹。更多详细内容请参阅 e (释放) 命令。
    示例
    7z x archive.zip
    从压缩档案 archive.zip 中释放所有文件到当前文件夹。
    7z x archive.zip -oc:\soft *.cpp
    从压缩档案 archive.zip 中释放 *.cpp 文件到 c:\soft 文件夹。
    可以和此命令结合使用的选项
    -ao (覆盖模式), -i (包括文件名), -o (设置输出目录), -p (设置密码), -r (递归子目录), -x (排除文件), -y (全是) 
    其他命令行: e (释放

    命令行选项
    语法
    [选项]::= [选项_符号][选项_字符][[选项]]
    [选项_符号] ::= '/' | '-' <switch]::= [switch_symbol][switch_characters][[option]]
    [switch_symbol] ::= '/' | '-' 
    在命令行中,一个完整的选项由指定的选项、连字符(-)或斜线(/)组成,而且选项的符号不能使用缩写。选项名称不区分大小写。而一部分选项会包括参数变量,它们是需要区分大小写的。 
    选项可以使用在命令行中的任何位置。 有关命令行的详细使用说明请见语法。
    选项要点参考
    选项        说明
    –        阻止选项解析
    -ai        附件档案文件名
    -an        不解析档案名称
    -ao        覆盖模式
    -ax        排除档案文件名
    -i        包括文件名
    -m        设置压缩算法
    -o        设置输出目录
    -p        设置密码
    -r        递归子目录
    -sfx        创建自释放档案
    -si        从StdIn 读取数据
    -so        从StdOut 写入数据
    -t        设置档案类型
    -u        更新选项
    -v        创建分卷
    -w        设置工作目录
    -x        文件名排除
    -y        全是
    -- (阻止选项解析) 选项
    在命令行中使“--”后的选项开关“-”都失效。这样就允许在命令行中使用文件名以“-”开头的文件。 
    语法
    --
    示例
    7z t -- -ArchiveName.7z
    测试 -ArchiveName.7z 压缩档案.
    -ai (附件档案文件名) 开关
    指定附加文件,包括压缩档案文件名及通配符。此选项可同时附加多个类型。
    语法
    -ai[[recurse_type]][file_ref]
    [recurse_type] ::= r[- | 0]
    [file_ref] ::= @{listfile} | !{wildcard}

    -an (不解析档案名称) 选项
    不解析命令行中的 archive_name 区域。此选项必须和 -i (附加文件) 开关一起使用。比如您为压缩档案使用列表文件,您就需要指定 -ai 选项,所以您需要禁止解析命令行中的 archive_name 区域。 
    语法
    -an
    示例
    7z t -an -ai!*.7z -ax!a*.7z
    测试除 a*.7z 之外的 *.7z 压缩档案。
    可以和此选项结合使用的命令
    e (释放), l (列表), t (测试), x (完整路径释放) 
    其它选项: -i (附加文件), -x (排除文件) 
    -ao (覆盖模式) 选项
    指定在释放期间如何覆盖硬盘上现有的同名文件。
    语法
    -ao[a | s | u ]
    参数        说明
    -aoa        直接覆盖现有文件,而没有任何提示。
    -aos        跳过现有文件,其不会被覆盖。 
    -aou        如果相同文件名的文件以存在,将自动重命名被释放的文件。举个例子,文件 file.txt 将被自动重命名为 file_1.txt。
    -aot        如果相同文件名的文件以存在,将自动重命名现有的文件。举个例子,文件 file.txt 将被自动重命名为 file_1.txt。
    示例
    7z x test.zip -aoa
    从压缩档案 test.zip 中释放所有文件并却不做提示直接覆盖现有文件。可以和此选项结合使用的命令
    e (释放), x (完整路径释放) 
    其它选项: -y (全是) 
    -ax (排除档案文件名) 选项
    指定必须从操作中排除的压缩档案,此选项可同时排除多个类型。
    语法
    -ax[[recurse_type]][file_ref]
    [recurse_type] ::= r[- | 0]
    [file_ref] ::= @{listfile} | !{wildcard}
    有关此选项参数的详细信息请参见 -i (附加文件) 选项。
    示例
    7z t -an -ai!*.7z -ax!a*.7z
    测试除 a*.7z 之外的 *.7z 压缩档案,可以和此选项结合使用的命令
    e (释放), l (列表), t (测试), x (完整路径释放) 
    其它选项: -i (附加文件), -an (不解析档案名称) 

    参数
    [recurse_type]
    指定通配符及文件名,此选项在这里必须使用。如果此选项未被指定,那么将自动使用递归。更多详细信息请参见 -r (递归子目录) 选项。
    [recurse_type] ::= r[- | 0]
    [file_ref]
    指定要处理的文件的文件名、通配符或文件列表。
    [file_ref] ::= @{listfile} | !{wildcard}
    选项        说明
    {listfile}        指定文件列表的文件名。参见 列表文件 的说明。
    {wildcard}        指定通配符或文件名。
    示例
    7z t -an -air!*.7z
    在当前目录及子目录下测试 *.7z 压缩档案,可以和此选项结合使用的命令
    a (添加), d (删除), e (释放), l (列表), t (测试), u (更新), x (完整路径释放) 
    其它选项: -ax (排除档案文件名), -an (不解析档案名称) 
    -i (附加文件) 选项
    指定附加文件或一类文件,此选项可附件添加多个类型。
    语法
    -i[[recurse_type]][file_ref]
    [recurse_type] ::= r[- | 0]
    [file_ref] ::= @{listfile} | !{wildcard}
    参量
    [recurse_type]
    此值在这个选项中必须使用。如果此选项的值不存在,那么将使用被 -r (递归子目录) 选项所指定的值。更多详细内容请参阅 -r (递归子目录) 选项。
    [recurse_type] ::= r[- | 0]
    [file_ref]
    指定文件名或通配符、或使用文件列表来添加文件。
    [file_ref] ::= @{listfile} | !{wildcard}
    参数        说明
    {listfile}        指定文件列表。请参考 文件列表 相关信息。
    {wildcard}        指定文件名或通配符。
    示例
    7z a -tzip src.zip *.txt -ir!DIR1\*.cpp
    从当前目录中添加 *.txt 文件,和 DIR1 目录及其子目录中的 *.cpp 文件到 src.zip 压缩档案。可以和此选项结合使用的命令
    a (添加), d (删除), e (释放), l (列表), t (测试), u (更新), x (完整路径释放) 
    其它选项: -r (递归子目录), -x (排除文件) 
    -m (设置压缩算法) 选项
    指定压缩算法。
    语法
    -m[method_parameters]
    此选项的格式依压缩档案的类型而定。
    Zip参数        默认值        说明
    x=[0 | 5 | 9 ]    5        设置压缩等级。
    m={MethodID}        Deflate        设置压缩算法:Copy、Deflate、Deflate64、BZip2。
    fb={NumFastBytes}    32        设置 Deflate 编码器的单词大小。
    pass={NumPasses}        1        设置 Deflate 编码器的传送大小。
    X=[0 | 5 | 9 ]
    设置压缩等级
    压缩等级        说明
    0            不压缩。
    5            默认的压缩等级。
    9            最大压缩等级。压缩后的文件会更小。但是在压缩的时候会比较慢而且需要较多的物理内存。
    fb={NumFastBytes}    设置 Deflate 编码器的单词大小。您可以在 3 到 255 范围之内更改。在 Deflate 算法下,它的默认值是 32;在 Deflate 64 算法下,它的默认值是 64。如果要压缩的多个文件中,有很多排列相同的字节,比如说内容及格式极为相同的两个纯文本文档,那么在压缩的时候如果有较大的单词大小,将会在一定程 度上提高压缩比。所以通常情况下,其数量越大,压缩后的文件就会越小。但是在压缩和解压缩的时候会比较慢而且需要较多的物理内存。
    pass={NumPasses}        设置 Deflate 编码器的传送大小。您可以在 1 到 4 范围之内更改。在 Deflate 算法下,它的默认值是 1;在 Deflate 64 算法下,它的默认值是 3。此项可略微提升压缩比,但并不明显。 
    Gzip        除了 GZip 不支持“储存”压缩算法之外,GZip 和 Zip 一样使用着相同的参数。 
    7z参数
    默认        说明
    x=[0 | 1 | 5 | 7 | 9 ]
    5        设置压缩等级。
    s=[off | on | [e] [{N}f] [{N}b | {N}k | {N}m | {N}g]
    on        设置固实模式。
    f=[off | on]
    on        开启或关闭可执行文件压缩过滤器。
    hc=[off | on]
    on        开启或关闭档案文件头压缩。
    hcf=[off | on]
    on        开启或关闭档案文件头完全压缩。
    he=[off | on]
    off        开启或关闭档案文件头加密。
    b{C1}[s{S1}]:{C2}[s{S2}]

    设置编码器之间绑定。
    {N}={MethodID}[:param1][:param2][..]
    LZMA设置压缩算法:LZMA、PPMd、BZip2、Deflate、BCJ、BCJ2、Copy。
    mt=[off | on]
    off
    设置多线程模式。
    x=[0 | 1 | 5 | 7 | 9 ]
    设置压缩等级
    压缩等级        说明
    0            不压缩.
    1            快速压缩:LZMA 快速算法、32KB 字典大小、HC3 Match finder、BCJ 过滤器。
    5            正常压缩:LZMA 标准算法、2 MB 字典大小、BT4 Match finder、单词大小为 32、BCJ 过滤器。
    7            最大压缩:LZMA 最大算法、8 MB 字典大小、BT4 Match finder、单词大小为 64、BCJ 过滤器。
    9            极限压缩:LZMA 最大算法、32 MB 字典大小、BT4b Match finder、单词大小为 64、BCJ2 过滤器。
    s=[off | on | [e] [{N}f] [{N}b | {N}k | {N}m | {N}g)]    开启或关闭固实模式。此选项的默认值是 s=on。开启或关闭固实压缩档案模式。在创建固实压缩档案模式中,它把压缩档案中的所有文件都当成一个连续数据流来看待。通常情况下,固实压缩可增加压缩比,特别是在添加大量小文件的时候。
    e    为每一种文件扩展名使用单独的固实数据流
    {N}f        设置在一个固实数据流种文件的个数
    {N}b | {N}k | {N}m | {N}g        设置固实数据流的大小(字节)
    不同的压缩等级对固实数据流大小的限制:
    压缩等级        大小    储存
    快速        16 MB
    正常        256 MB
    最大        1 GB
    极限        4 GB
    对固实数据流大小的限制虽然能应响到压缩比,但是它还是有相当多的优势:
    万一压缩档案损坏,并不会丢失所有数据。减少了文件的释放时间。
    在当前的版本中,您只能更新在压缩时未选择“创建固实压缩档案”的压缩档案。也就是说当前版本不支持固实压缩档案的更新。
    示例:
    -s=100f10m
    设置固实模式使每个固实数据流种最多 100 文件,并且最大 10 MB 。
    f=[off | on]
    开启或关闭可执行文件压缩过滤器:dll、exe、ocx、sfx、sys。它用于 BCJ2 过滤器(使用极限压缩)及 BCJ 过滤器中。此选项的默认值是 f=on. 
    hc=[off | on]
    开启或关闭档案文件头压缩。此选项的默认值是 hc=on。如果开启档案文件头压缩,一部分档案的文件头将使用 LZMA 算法进行压缩。 
    hcf=[off | on]
    开启或关闭档案文件头完全压缩。此选项的默认值是 hcf=on。如果开启档案文件头完全压缩,那么此压缩档案只有 7-Zip 2.30 beta 25 及更高的版本才能支持。 
    he=[off | on]
    开启或关闭档案文件头加密。此选项的默认值是 he=off。 
    {N}
    设置算法的顺序。它也可以用算法关联参数。最小值为 0。含有从号的算法将被首先使用。
    b{C1}[s{S1}]:{C2}[s{S2}]
    将输出流 S1 及编码器 C2 中的输入流 S2 与编码器 C1 绑定。如果未指定流的大小,那么大小将为 0。通常情况下,编码器有一个输入流及一个输出流。而在 7z 中,一些编码器有多个输入及输出流。
    举个例子,BCJ2 编码器有有关输入流及四个输出流。
    mt=[off | on]
    开启或关闭多线程压缩模式。在多线程支持模式中,7-Zip 将使用两个线程来进行压缩。这样的话,对于多处理器系统,那么压缩速度将提升 70-80%。对于 Pentium 4 超线程处理器,压缩速度将提升 25% 左右。但解压缩时只使用单独线程。注意!此选项仅对 LZMA 压缩算法有效。 
    {N}={MethodID}[:param1][:param2] ... [:paramN]
    设置压缩算法。在 7z 格式中,您可以使用许多压缩算法。此选项的默认算法是 LZMA。此参数必须是下列格式中的任意一种:
    {ParamName}={ParamValue}。 
    {ParamName}{ParamValue},{ParamValue} 是一个数值,并且 {ParamName} 中不包含数字。 

    支持的压缩算法:
    MethodID        说明
    LZMA            基于 LZ 之上的压缩算法。
    PPMd            基于 Dmitry Shkarin 之上的算法 PPMdH 并加以优化。通常能对纯文本提供高压缩比及较快的解压缩速度。
    Bzip2        基于 BWT 的标准压缩算法。通常能对纯文本提供较高压缩比及相当不错的解压缩速度。
    Deflate        ZIP 及 GZip 格式的标准压缩算法。没有很高的压缩比。但是它拥有十分快的压缩及解压缩速度。Deflate 压缩算法只支持 32 KB 字典大小。
    BCJ            (CALL、JUMP)32 位 x86 可执行文件转换器。
    BCJ2            (CALL、JUMP、JCC)32 位 x86 可执行文件转换器(第二版)。
    Copy            不压缩。

    LZMA
    LZMA 是基于 Lempel-Ziv(由以色列数学家 A.Lempel 和 J.Ziv 共同开发的压缩算法)之上的压缩算法。它能提供相当快的解压缩速度(约比压缩快 10 到 20 倍)。对内存的需求也不尽相同(详细信息请参见 d={Size}[b|k|m] 选项)。
    参数        默认值        说明
    a=[0|1|2]    1        设置压缩等级
    d={Size}[b|k|m]    20    设置字典大小
    mf={MF_ID}    bt4        设置匹配器
    fb={N}    32            设置紧缩字节数量
    lc={N}    3            设置 Literal Context 块数 - [0, 8]
    lp={N}    0            设置 Literal Pos 块数 - [0, 4]
    pb={N}    2            设置 Pos 块数 - [0, 4]
    a=[0|1|2]
    设置压缩等级:0=快速、1=正常、2=最大压缩。默认值为 1。
    d={Size}[b|k|m]
    设置 LZMA 压缩算法的字典大小。您可以使用字节、KB 或 MB 来指定此项。字典大小的最大值为 256 MB=2^28 字节。正常模式下,LZMA 的字典大小默认值为 21(2 MB) ;最大模式(-mx=7)下为 23(8 MB);极限模式(-mx=9)下为 25(32 MB)。如果您未指定 [b|k|m] 项,字典大小将自动根据压缩等级来选择相应的单位。对于 LZMA 算法的文件解压缩,若压缩文件的字典大小为 64 MB,则解压缩时就需要 64 兆可用的物理内存。 
    mf={MF_ID}
    设置 LZMA 压缩算法的匹配器。默认算法为 bt4。bt* 类的算法所需的内存比 pat* 类所需的内存少。通常情况下 bt4 的工作速度比 pat* 快得多,然而部分文件格式在 pat* 算法中可以工作得很快。hc* 类算法并没有很好得压缩比,但是它与快速模式(a=0)结合使用通常会工作得相当快。所需内存依字典大小而定(参见下表)。
    MF_ID        所需内存        说明
    bt2        d×9.5 + 1 MB    二进制树;2 散列字节。
    Bt3        d×9.5 + 65 MB    二进制树;2-3(完整) 散列字节。
    Bt4        d×9.5 + 6 MB    二进制树;2-3-4 散列字节。
    Bt4b        d×9.5 + 34 MB    二进制树;2-3-4(大) 散列字节。
    Pat2r    d×26 + 1 MB        Patricia 树;2-位节点;可移动。
    Pat2        d×38 + 1 MB        Patricia 树;2-位节点。
    Pat2h    d×38 + 77 MB    Patricia 树;2-位节点;2-3 散列字节。
    Pat3h    d×62 + 85 MB    Patricia 树;3-位节点;2-3 散列字节。
    Pat4h    d×110 + 101 MB    Patricia 树;4-位节点;2-3 散列字节。
    Hc3        d×5.5 + 1 MB    Hash Chain;-3 散列字节。
    Hc4        d×5.5 + 6 MB    Hash Chain;2-3-4 散列字节。
    注意:操作系统同样需要一部分物理内存来维持系统得正常运行,所以至少要剩余 32 可用物理内存。
    fb={N}
    设置 LZMA 压缩算法的紧缩字节。有效范围从 5 到 255。正常模式下默认值为 32;最大模式下为 64 。通常情况下,较大的数值能略微提高压缩比。但同时也会降低压缩速度。 
    lc={N}
    设置 Literal Context 位数。有效范围从 0 到 8。默认值为 3。有时压缩档案中含有大文件会自动使用 lc=4。
    lp={N}
    设置 Literal Pos 位数。有效范围从 0 到 4。默认值为 0。
    pb={N}
    设置 Pos 位数。有效范围从 0 到 4。默认值为 2。
    PPMd
    PPMd 是 PPM-based 压缩算法的简写。它基于 Dmitry Shkarin 的算法 PPMdH 并对其源代码加以优化。PPMd 通常能对纯文本提供高压缩比及较快的解压缩速度。压缩和解压缩的速度完全相同,所需的内存大小也一样。
    参数                    默认值        说明
    mem={Size}[b|k|m]    24            设置 PPMd 算法使用内存。
    o={Size}                6            设置 PPMd 算法压缩命令。
    mem={Size}[b|k|m]
    设置 PPMd 算法使用的内存多少。您可以使用字节、KB 或 MB 来指定此项。最大值为 2 GB=2^31 字节;默认值为 24(16MB)。如果您未指定 [b|k|m] 项,字典大小将自动根据压缩等级来选择相应的单位。PPMd 在压缩和解压缩时所需的内存大小是相同的。
    o={Size}
    设置 PPMd 算法压缩命令。其大小必须在 [2,32] 范围内。默认值为 6。
    BCJ2
    BCJ2 是 32 位 x86 可执行文件转换器(第二版)。它通过转换分支指令来对文件进行进一步压缩。
    BCJ2 编码器有一个输入流和四个输出流:
    s0:干流。提供进一步的压缩。
    s1:CALL 值转换流。提供进一步的压缩。
    s2:JUMP 值转换流。提供进一步的压缩。
    s3:服务流。它已经备压缩过。
    如果使用 LZMA 压缩算法,s1 及 s2 流的字典大小将会比 s0 流的小(512 KB)。
    示例
    7z a -tzip archive.zip *.jpg -m0
    不压缩而直接将 *.jpg 文件添加到 archive.zip 档案。
    7z a -t7z archive.7z *.exe *.dll -m0=BCJ -m1=LZMA:d=21 -ms -mmt
    添加 *.exe 及 *.dll 文件到固实压缩档案 archive.7z。使用 LZMA 压缩算法、2 MB 字典大小及 BCJ 转换器。压缩将开启多线程优化(如果可用)。
    7z a -t7z archive.7z *.exe *.dll -m0=BCJ2 -m1=LZMA:d23 -m2=LZMA:d19 -m3=LZMA:d19 -mb0:1 -mb0s1:2 -mb0s2:3
    添加 *.exe 及 *.dll 文件到压缩档案 archive.7z。使用 LZMA 压缩算法、BCJ2 转换器、为主输出流(s0)使用 8 MB 字典大小、LZMA 算法为 BCJ2 转换器的 s1 及 s2 输出流使用 512 KB 字典大小。
    7z a -t7z archive.7z *.txt -m0=PPMd
    添加 *.txt 文件到压缩档案 archive.7z。 使用 PPMd 压缩算法。
    可以和此选项结合使用的命令
    a (添加), d (删除), u (更新) 
    其它选项: -t (设置压缩档案格式) 
    -p (设置密码) 选项
    指定密码。
    语法
    -p{password}
    {password}
    指定密码。
    示例
    7z x archive.zip -psecret
    将设有密码“secret”的压缩档案 archive.zip 中所有文件释放。可以和此选项结合使用的命令:
    a (添加), d (删除), e (释放), t (测试), u (更新), x (完整路径释放) 
    -r (递归子目录) 选项
    把命令行中的通配符及文件名以指定的方法对待。
    语法
    -r[- | 0]
    选项        说明
    -r        开启递归子目录。对于 e (释放)、l (列表)、t (测试)、x (完整路径释放) 这些在压缩档案中操作的命令, 会默认使用此选项。 
    -r-        关闭递归子目录。对于 a (添加)、d (删除)、u (更新) 等所有需扫描磁盘文件的命令,会默认使用此选项。 
    -r0        开启递归子目录。但只应用于通配符。 
    示例
    7z l archive.zip -r- *.doc
    列出在 archive.zip 压缩档案中根目录下的 *.doc 文件。 
    7z a -tzip archive.zip -r src\*.cpp src\*.h
    将 src 目录及其子目录中的 *.cpp 及 *.h 文件添加到 archive.zip 压缩档案。
    可以和此选项结合使用的命令
    a (添加), d (删除), e (释放), l (列表), t (测试), u (更新), x (完整路径释放) 
    其它选项: -i (附加文件), -x (排除文件) 
    -sfx (创建自释放档案) 选项

    创建自释放档案。
    语法
    -sfx[{SFX_Module}]
    {SFX_Module}指定将被添加到压缩档案的自释放(SFX)模块。然而被指定的模块必须和 7z.exe 文件在同一目录。如果 {SFX_Module} 未指定,7-Zip 将使用命令行自释放模块 7zCon.sfx。
    SFX_Module    说明
    7zC.sfx        Windows 版本。
    7zCon.sfx    命令行(DOS)版本。
    7zS.sfx        Windows 安装版本。
    7zSD.sfx        Windows 安装版本(需调用 MSVCRT.dll)。
    除 7zC.sfx 之外,大多数的自释放模块都是未压缩的。 您可以使用 UPX 程序 (http://upx.sourceforge.net) 来压缩这些模块。在使用 UPX 程序压缩之后,自释放模块的大小将比压缩之前减小 40-50%。 

    自释放安装模块
    自释放安装模块(7zS.sfx 和 7zSD.sfx)可让您创建软件的安装程序。这类模块将释放文件到一临时文件夹,然后运行指定的程序来进行安装。安装之后再自动删除临时文件。 要创建自释放档案必须有三个文件:自释放模块、安装程序配置、7z 压缩档案。其中安装程序配置文件是可选的。您可以使用下列命令来创建安装程序:
    copy /b 7zS.sfx + config.txt + archive.7z archive.exe
    请注意上述文件的输入顺序:*.sfx、*.txt、*.7z。最后的 archive.exe 即为生成的安装程序。
    选项 -y 使用在自释放安装模块中可设置释放时是否为安静模式。

    安装程序配置文件格式
    配置文件包括安装程序的命令行。文件要以字串 ;!@Install@!UTF-8! 开头,以 ;!@InstallEnd@! 结尾。且文件必须使用 UTF-8 编码。文件中还需包含下列变量: 
    ID_String="Value"
    ID_String
    说明
    Title    对话框信息标题。
    BeginPrompt        安装前提示信息。
    RunProgram        欲执行命令。若添加子命令 %%T 则会把文件释放到系统的临时目录。
    您可以省略上述任何一部分。
    配置文件示例
    ;!@Install@!UTF-8!
    Title="7-Zip 1.00"
    BeginPrompt="应用程序将安装 7-Zip 1.00,是否继续?"
    RunProgram="Setup.exe /T:%%T"
    ;!@InstallEnd@!
    程序将以 BeginPrompt 中的信息提示用户,再执行 RunProgram 中的命令。然后程序将使用 .inf 文件的内容并调用压缩包中的 advpack.dll 文件进行安装。 
    示例
    7z a -sfx a.exe *.txt
    添加 *.txt 文件到自释放档案 a.exe 并使用默认的命令行自释放模块。
    7z a -sfx7zC.sfx a.exe * -r
    添加所有文件到自释放档案 a.exe 并使用 7zC.sfx Windows 版本的自释放模块。
    可以和此选项结合使用的命令
    a (添加), d (删除), u (更新) 

    -si (从 stdin 读取数据) 选项
    使 7-Zip 从 stdin 中使用数据(标准输入流)。
    语法
    -si{file_name}
    {file_name}
    为要压缩的数据指定一个将要储存在压缩档案中的名称。如果 file_name 未被指定,数据将被储存而没有名称。
    注意:当前版本的 7-Zip 不支持从 stdin 中读取压缩档案。
    示例
    7z a archive.gz -tgzip -siDoc2.txt [ Doc.txt
    使用 Doc2.txt 文件名压缩输入流从文件 Doc.txt 到压缩档案 archive.gz。
    可以和此选项结合使用的命令
    a (添加), u (更新) 
    -so (从 stdout 写入数据) 选项
    使 7-Zip 从 stdout 中使用数据(标准输出流)。
    语法
    -so
    示例
    7z x archive.gz -so ] Doc.txt
    解压缩 archive.gz 输出流并将该输出流写入到 Doc.txt 文件。
    7z a dummy -tgzip -so Doc.txt ] archive.gz
    压缩 Doc.txt 输出流并将该输出流写入到 archive.gz 压缩档案。
    可以和此选项结合使用的命令
    a (添加), e (释放), u (更新), x (完整路径释放) 
    -t (设置压缩档案格式) 选项
    指定压缩档案格式。
    语法
    -t{archive_type}
    {archive_type}指定压缩档案格式。它们可以是:zip、7z、rar、cab、gzip、bzip2、tar 或其它格式。而默认值是 7z 格式。
    示例
    7z a -tzip archive.zip *.txt
    使用 zip 格式从当前目录中添加所有 *.txt 文件到压缩档案 archive.zip。
    可以和此选项结合使用的命令:
    a (添加), u (更新) 
    -u (更新选项) 选项
    指定压缩档案中文件的更新及创建的方式。
    语法
    -u[-][action_set][!{new_archive_name}]
    [action_set] ::= [state_action]...
    [state_action] ::= [state][action]
    [state] ::= p | q | r | x | y | z | w
    [action] ::= 0 | 1 | 2 | 3
    参量
    连字符(-)
    对原压缩档案不进行任何更新。
    {new_archive_name}    指定新压缩档案的路径。
    [state]
    [state] ::= p | q | r | x | y | z | w
    每个文件名都会赋予下列六个变量:
    [state]
    状态说明                磁盘上的文件                压缩档案中的文件
    p文件在压缩档案中,但并不和磁盘上的文件相匹配。    存在,但并不匹配
    q文件在压缩档案中,但磁盘上并不存在。    不存在    存在
    r文件不在压缩档案中,但磁盘上存在。    存在        不存在
    x压缩档案中的文件比磁盘上的文件新。    较旧        较新
    y压缩档案中的文件比磁盘上的文件旧。    较新        较旧
    z压缩档案中的文件和磁盘上的文件相同。    相同        相同
    w不能检测文件是否较新(时间相同但大小不同)    ?    ?
    [action]
    为适当的 [state] 指定动作。
    [action] ::= 0 | 1 | 2 | 3
    您可以指定下列四个动作变量中的任意一个:
    [action]
    说明
    0    忽略文件(在压缩档案中不为此文件创建项目)
    1    复制文件(用压缩档案中的新文件覆盖旧文件)
    2    压缩文件(将磁盘上的新文件压缩到档案中)
    3    创建剔除项(释放过程中将删除文件或目录项)。此功能只支持 7z 格式。
    注意
    任何的更新命令(如 a (添加)、d (删除)、u (更新))都可以被分配到下列项目中。
    下列表格中显示的是更新命令的动作设置。

    示例
    7z u c:\1\exist.7z -u- -up0q3x2z0!c:\1\update.7z * -r
    创建新压缩档案 update.7z 并将当前目录中的 exist.7z 压缩档案里所有不同文件写入此压缩档案。并不更改 exist.7z 压缩档案的内容。可以和此选项结合使用的命令:
    a (添加), d (删除), u (更新) 
    -v (创建分卷) 选项
    指定分卷大小。
    语法
    -v{Size}[b | k | m | g]
    {Size}[b | k | m | g]
    指定分卷大小,可以使用字节、KB(1 KB=1024 字节),MB(1 MB = 1024 KB)或 GB(1 GB = 1024 MB)。如果您只指定了 {Size},7-zip 将把它视为字。您可以同时指定多个 -v 选项。
    示例
    7z a a.7z *.txt -v10k -v15k -v2m
    创建 a.7z 分卷压缩档案。第一个分卷为 10 KB,第二个为 15 KB,剩下全部为 2 MB。
    可以和此选项结合使用的命令
    a (添加) 
    -w (设置工作目录) 选项
    为文件压缩设置临时的工作目录。默认情况下,7-Zip 新建一个压缩档案时,会临时在当前目录创建一个基本压缩档案。然而通过指定此选项,您可以设置基本压缩档案的生成目录,也就是工作目录。当压缩完成时,它 将会被重命名为压缩前您所指定的文件名,然后删除在临时目录中的原始压缩档案。
    语法
    -w[{dir_path}]
    {dir_path}    指定目标文件夹。
    如果 [dir_path] 未指定,那么 7-Zip 将使用 Windows 默认的临时目录。
    示例
    7z a -tzip archive.zip *.cpp -wc:\temp
    添加 *.cpp 文件到 archive.zip 压缩档案,并将临时压缩档案创建到 c:\temp 文件夹。
    可以和此选项结合使用的命令
    a (添加), d (删除), u (更新) 
    -x (排除文件) 选项
    指定某一文件或某一类文件从操作中排除,此选项可同时排除多个类型。
    语法
    -x[[recurse_type]][file_ref]
    [recurse_type] ::= r[- | 0]
    [file_ref] ::= @{listfile} | !{wildcard}
    更多详细内容请参阅 -i (附加文件) 选项。
    示例
    7z a -tzip archive.zip *.txt -x!temp.*
    添加除 temp.* 文件之外的所有 *.txt 文件到压缩档案 archive.zip。可以和此选项结合使用的命令:
    a (添加), d (删除), e (释放), l (列表), t (测试), u (更新), x (完整路径释放) 
    其它选项: -r (递归子目录), -i (附加文件) 
    -y (全是) 选项
    使 7-Zip 执行命令时的大多数提示失效。您可以使用此选项来阻止在 e (释放) 和 x (完整路径释放) 命令中文件覆盖时的提示。
    语法        -y        示例
    7z x src.zip -y    从 src.zip 释放所有文件。所有的覆盖提示将被阻止且所有相同文件名的文件将被覆盖。可以和此选项结合使用的命令:
    e (释放), x (完整路径释放) 

    其它选项: -ao (覆盖模式) 


  • 相关阅读:
    [开源]用MQL4实现MD5加密
    如何转换WMV到MP3,WMV到MP3播放器
    C# Winform TreeView 的一些基本用法
    WinServer 2008 远程桌面连接设置
    存储数据类型的转化总结
    EF中执行sql语句,以及事务
    C#(委托a)
    LINQ绑定List到GridView
    循环遍历DataTable绑定到Table
    要将 ASP.NET 访问权限授予某个文件,请在资源管理器中右击该文件,选择“属性”,然后选择“安全”选项卡。单击“添加”添加适当的用户或组。突出显示 ASP.NET 帐户,选中所需访问权限对应的框。
  • 原文地址:https://www.cnblogs.com/langlang/p/1893866.html
Copyright © 2011-2022 走看看