7-Zip命令行说明整理自:P57() 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 s?ir\*从s?ir 文件夹添加所有文件到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(是) yNo(否) nAlways(总是) 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 区域。