关于压缩工具7-zip的7z脚本用法

一、shell命令行

L:\Program Files\7-Zip>7z7-Zip 21.01 alpha (x64) : Copyright (c) 1999-2021 Igor Pavlov : 2021-03-09Usage: 7z <command> [<switches>...] <archive_name> [<file_names>...] [@listfile]<Commands>a : Add files to archiveb : Benchmarkd : Delete files from archivee : Extract files from archive (without using directory names)h : Calculate hash values for filesi : Show information about supported formatsl : List contents of archivern : Rename files in archivet : Test integrity of archiveu : Update files to archivex : eXtract files with full paths<Switches>-- : Stop switches and @listfile parsing-ai[r[-|0]]{@listfile|!wildcard} : Include archives-ax[r[-|0]]{@listfile|!wildcard} : eXclude archives-ao{a|s|t|u} : set Overwrite mode-an : disable archive_name field-bb[0-3] : set output log level-bd : disable progress indicator-bs{o|e|p}{0|1|2} : set output stream for output/error/progress line-bt : show execution time statistics-i[r[-|0]]{@listfile|!wildcard} : Include filenames-m{Parameters} : set compression Method-mmt[N] : set number of CPU threads-mx[N] : set compression level: -mx1 (fastest) ... -mx9 (ultra)-o{Directory} : set Output directory-p{Password} : set Password-r[-|0] : Recurse subdirectories-sa{a|e|s} : set Archive name mode-scc{UTF-8|WIN|DOS} : set charset for for console input/output-scs{UTF-8|UTF-16LE|UTF-16BE|WIN|DOS|{id}} : set charset for list files-scrc[CRC32|CRC64|SHA1|SHA256|*] : set hash function for x, e, h commands-sdel : delete files after compression-seml[.] : send archive by email-sfx[{name}] : Create SFX archive-si[{name}] : read data from stdin-slp : set Large Pages mode-slt : show technical information for l (List) command-snh : store hard links as links-snl : store symbolic links as links-sni : store NT security information-sns[-] : store NTFS alternate streams-so : write data to stdout-spd : disable wildcard matching for file names-spe : eliminate duplication of root folder for extract command-spf : use fully qualified file paths-ssc[-] : set sensitive case mode-sse : stop archive creating, if it can't open some input file-ssp : do not change Last Access Time of source files while archiving-ssw : compress shared files-stl : set archive timestamp from the most recently modified file-stm{HexMask} : set CPU thread affinity mask (hexadecimal number)-stx{Type} : exclude archive type-t{Type} : Set type of archive-u[-][p#][q#][r#][x#][y#][z#][!newArchiveName] : Update options-v{Size}[b|k|m|g] : Create volumes-w[{path}] : assign Work directory. Empty path means a temporary directory-x[r[-|0]]{@listfile|!wildcard} : eXclude filenames-y : assume Yes on all queriesL:\Program Files\7-Zip>
用法:7z<command>[<switches>..]<archive\u name>[<file\u names>..][@listfile]<Commands>a:将文件添加到存档b:基准d:从存档中删除文件e:从存档中提取文件(不使用目录名)h:计算文件的哈希值i:显示有关支持的格式的信息l:列出档案的内容rn:重命名存档中的文件测试档案的完整性u:将文件更新到存档x:提取具有完整路径的文件<Switches>--:停止开关和@listfile解析-ai[r[-|0]{@listfile|!wildcard}:包含存档-ax[r[-|0]{@listfile|!wildcard}:排除存档-ao{a | s | t | u}:设置覆盖模式-an:禁用存档名称字段-bb[0-3]:设置输出日志级别-bd:禁用进度指示器-bs{o|e | p}{0 | 1 | 2}:为输出/错误/进度行设置输出流-bt:显示执行时间统计信息-i[r[-|0]{@listfile|!wildcard}:包括文件名-m{Parameters}:集合压缩方法-mmt[N]:设置CPU线程数-mx[N]:设置压缩级别:-mx1(最快)-mx9(超高)-o{Directory}:设置输出目录-p{Password}:设置密码-r[-| 0]:递归子目录-sa{a | e | s}:设置存档名称模式-scc{UTF-8 | WIN | DOS}:控制台输入/输出的set字符集-scs{UTF-8 | UTF-16LE | UTF-16BE | WIN | DOS |{id}:为列表文件设置字符集-scrc[CRC32 | CRC64 | SHA1 | SHA256 |*]:为x、e、h命令设置哈希函数-sdel:压缩后删除文件-seml[.]:通过电子邮件发送存档-sfx[{name}]:创建sfx存档-si[{name}]:从标准输入读取数据-slp:设置大页面模式-slt:显示l(列表)命令的技术信息-snh:将硬链接存储为链接-snl:将符号链接存储为链接-sni:存储NT安全信息-sns[-]:存储NTFS备用流-so:将数据写入标准输出-spd:禁用文件名的通配符匹配-spe:为extract命令消除根文件夹的重复-spf:使用完全限定的文件路径-ssc[-]:设置敏感案例模式-sse:如果无法打开某些输入文件,请停止创建存档-ssp:存档时不更改源文件的上次访问时间-ssw:压缩共享文件-stl:从最近修改的文件设置存档时间戳-stm{HexMask}:设置CPU线程关联掩码(十六进制数)-stx{Type}:排除存档类型-t{Type}:设置存档的类型-u[-][p][q][r][x][y][z][!newArchiveName]:更新选项-v{Size}[b | k | m | g]:创建卷-w[{path}]:分配工作目录。空路径表示临时目录-x[r[-| 0]{@listfile |!wildcard}:排除文件名-y:假设所有查询都是

案例:

注册表的项目名称:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\7zFM.exeTheReg.RootKey:=HKEY_LOCAL_MACHINE;//KeyName := 'SOFTWARE\7-Zip';//:取这里是不行的,不可被访问的KeyName := 'SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\7zFM.exe';压缩为目标文件_用哪个源文件_自动覆盖模式(路径喊空格的两种表达方式):
7z.exe a "C:\Program Files\7-Zip\"testfile.7z "C:\Program Files\7-Zip\"testfile.apk -y
7z.exe a "C:\Program Files\7-Zip\testfile.7z" "C:\Program Files\7-Zip\testfile.apk" -y
解压为目标文件不带目录_自动覆盖模式(路径喊空格的两种表达方式):
7z.exe e "C:\Program Files\7-Zip\"testfile.7z -y
7z.exe e "C:\Program Files\7-Zip\testfile.7z" -y
解压为目标文件全路径_自动覆盖模式(路径喊空格的两种表达方式):
7z.exe x "C:\Program Files\7-Zip\"testfile.7z -y
7z.exe x "C:\Program Files\7-Zip\testfile.7z" -y-o解压输出路径参数的用法:
"C:\Program Files\7-Zip\7z.exe"  x "D:\开发包\白兰地专用-201305\MakeScreenshot\NOXSKD20200308041_Master_20211130135916751.7z" -o"D:\开发包\白兰地专用-201305\MakeScreenshot\"  -y

二、常见问题(FAQ)

可以在商业组织中使用7-Zip吗?

是的,7-Zip是免费软件。你可以在任何计算机上使用它。您不需要注册或支付7-Zip。

如何在Windows 7和Windows Vista中将文件关联设置为7-Zip?

您必须在管理员模式下运行7-Zip文件管理器。右键单击7-Zip文件管理器的图标,然后单击以管理员身份运行。然后可以更改文件关联和其他一些选项。

为什么新版本7-Zip创建的7z归档文件比旧版本7-Zip创建的归档文件大?

新版本的7-Zip(从15.06版开始)默认情况下对solid 7z归档文件使用另一个文件排序顺序。

旧版本的7-Zip(版本15.06之前)使用“按类型”(“按扩展名”)进行文件排序。

新版本的7-Zip支持两种排序顺序:

按名称排序-默认顺序。

如果在“添加到存档”窗口的参数字段中指定了“qs”,则按类型排序(或命令行版本的-mqs开关)。

若字典大小小于文件的总大小,那个么对于不同的排序方法,压缩比会有很大的差异。如果不同文件夹中有相似的文件,“按类型”排序在某些情况下可以提供更好的压缩比。

请注意,“按类型”排序有一些缺点。例如,NTFS卷使用“按名称”排序顺序,因此如果存档使用另一种排序,则HDD设备上对顺序异常的文件执行某些操作的速度可能会下降(HDD对“查找”操作的速度较低)。

可以使用以下方法提高压缩比:

增加字典大小。当不使用“qs”时,它会有所帮助。

在参数字段中指定'qs'(或在命令行版本中使用-mqs开关)。

如果您认为不寻常的文件顺序对您来说不是问题,并且如果使用小型字典获得更好的压缩比对您来说更重要,请使用“qs”模式。

为什么7-Zip不能打开一些Zip档案?

在99%的情况下,这意味着存档包含不正确的标题。其他ZIP程序可能会打开一些标题不正确的归档文件,因为这些程序只会忽略错误。

如果你有这样的档案,请不要打电话给7-Zip开发人员。相反,尝试查找用于创建归档的程序,并告知该程序的开发人员他们的软件不兼容ZIP。

还有一些ZIP归档文件是使用7-ZIP不支持的方法编码的,例如WAVPack(WinZip)。

为什么从7-Zip拖放存档提取到资源管理器会使用临时文件?

7-Zip不知道放置目标的文件夹路径。只有Windows资源管理器知道确切的删除目标。Windows资源管理器需要文件(拖动源)作为磁盘上的解压缩文件。因此,7-Zip将文件从归档文件提取到临时文件夹,然后7-Zip将这些临时文件的路径通知Windows资源管理器。然后Windows资源管理器将这些文件复制到drop目标文件夹。

为了避免临时文件的使用,您可以使用7-Zip的Extract命令或从7-Zip拖放到7-Zip。

为什么命令行版本不向存档添加没有扩展名的文件?

您可能正在使用**通配符。7-Zip不使用操作系统的通配符掩码解析器,因此将**视为任何具有扩展名的文件。要处理所有文件,必须使用*通配符,或者完全忽略通配符。

为什么-r开关不能按预期工作?

在大多数情况下,您不需要-r开关。7-Zip即使没有-r开关也可以压缩子文件夹。

例1:

7z.exe a c:\a.7z“c:\Program Files”

完全压缩“C:\Program Files”,包括所有子文件夹。

例2:

7z.exe a-r c:\a.7z“c:\Program Files”

在C:\(例如,在“C:\WINDOWS”中)的所有子文件夹中搜索并压缩“程序文件”。

如果只需要压缩具有某些扩展名的文件,可以使用-r开关:

7z a-r c:\a.zip c:\dir\*.txt

压缩文件夹c:\dir\及其所有子文件夹中的所有*.txt文件。

为什么7-Zip不能在32位Windows中使用大字典?

32位Windows仅为每个应用程序分配2 GB的虚拟空间。另外,2GB的块可能会被分割(例如,通过某个DLL文件),因此7-Zip无法分配一个大的连续虚拟空间块。64位Windows中没有此类限制。因此,如果您需要一定数量的物理RAM,您可以在Windows x64中使用任何字典。

如何在静默模式下安装7-Zip?

对于exe安装程序:使用“/S”参数进行静默安装,使用“/D=dir”参数指定“输出目录”。这些选项区分大小写。

对于msi安装程序:使用/q INSTALLDIR=“C:\Program Files\7-Zip”参数。

如何恢复损坏的7z存档?

当归档文件损坏时,可能会出现以下情况:

您可以打开归档文件并查看文件列表,但当您按Extract或Test命令时,会出现一些错误:数据错误或CRC错误。

打开归档文件时,会收到消息“无法将文件“a.7z”作为归档文件打开”

可以恢复一些数据。读abo

关于压缩工具7-zip的7z脚本用法相关推荐

  1. Linux压缩命令gzip、tar、zip的区别和用法

    Linux压缩命令gzip.tar.zip的区别和用法 Linux系统中常用的压缩命令有gzip.tar.zip等. gzip命令是一个压缩文件的工具,常用参数有: -c : 把压缩后的文件输出到标准 ...

  2. Java递归解压缩Zip、7z、7zx、Rar5(使用winrar.exe)可解压这四种类型的嵌套压缩

    Java递归解压缩Zip.7z.7zx.Rar5(使用winrar.exe)可解压这四种类型的嵌套压缩 依赖 Zip 7z Rar 说明 代码(复制即可用) 依赖 Zip 官方自带,无需额外操作 7z ...

  3. 解压zip_go|用Go写一个zip解压脚本

    用服务器自带的unzip命令解压zip包时,经常遇到编码问题,所以用Go写一个zip解压脚本来处理zip包 代码如下: package mainimport ("archive/zip&qu ...

  4. 《Swift开发实战》——第16章,第16.2节下标脚本用法

    本节书摘来自异步社区<Swift开发实战>一书中的第16章,第16.2节下标脚本语法,作者 李宁,更多章节内容可以访问云栖社区"异步社区"公众号查看 16.2 下标脚本 ...

  5. 批量将很多文件打包压缩成多个ZIP和7z压缩包文件

    概要:我们有时候需要将很多不同类型的文档单独打包成一个 ZIP 压缩包或者单独的打包成一个 7z 压缩包,我们一个一个处理的话比较慢,但是有没有一种批量将文件转成 ZIP 和 7z 压缩包的方法呢? ...

  6. java解压.rar、.zip和.7z格式压缩包

    解压zip格式文件用到的jar包有ant-1.6.5.jar和commons-logging-1.2.jar ,在pom.xml中输入: <!--zip--> <dependency ...

  7. 批量将很多文件夹打包压缩成多个ZIP和7z压缩包文件

    概要:我们有时候需要将很多不同类型的文件夹单独打包成一个 ZIP 压缩包或者单独的打包成一个 7z 压缩包,我们一个一个处理的话比较慢,但是有没有一种批量将文件夹转成 ZIP 和 7z 压缩包的方法呢 ...

  8. 自动化——自动解压(zip、7z、rar)带密码

    本数据采用第五届"泰迪杯"数据分析技能赛--A题:竞赛作品的自动评判数据 #https://www.pudn.com/news/62b430eddfc5ee1968969bb7.h ...

  9. Python编写zip密码破解脚本(超详细)

    Python编写zip暴破脚本 原理 python的zipfile库 暴破zip文件口令 利用线程提高性能 用户自定义参数 脚本完整代码 最近看到一篇关于zip密码破解脚本的文章,梳理了一番,向分享给 ...

最新文章

  1. pandas使用isna函数和any函数检查dataframe是否包含缺失值、整体是否有缺失值,不区分行列(check if dataframe contains any missing values
  2. linux下screen工具使用
  3. c c++ 函数内数组初值_C编程基础-关键字-函数和指针
  4. mysql读取表最后10条数据
  5. 中专学计算机毕业后的去向作文,中专生的毕业感言作文
  6. eladmin代码自动生成_高效代码自动化生成
  7. spring +springmvc+mybatis组合web.xml文件配置
  8. 虚数填补了数学的哪一个缺口?
  9. 又一个很全的R资讯网站
  10. Gnome即将满18岁,适用于Docker,Kali Linux 2.0的新工具以及更多新闻
  11. php 检测 变量是否设置,php如何判断变量是否有设置的函数
  12. Activity启动模式singleTask模式
  13. 分享github好用的磁力站bt导航和阿里云盘导航、百度网盘搜索引擎导航
  14. C#中的Socket
  15. 计算机主板功能是什么,电脑主板的作用是什么_电脑主板作用详细介绍 - 系统家园...
  16. 如何隐藏logo 高德地图api_iOS 高德地图隐藏logo
  17. manifestdependency,manifest文件
  18. 用python画哆啦a梦的头_用 Python 画个哆啦A梦
  19. 一个简单的宿舍管理系统
  20. 科学动画制作工具——Blender

热门文章

  1. windows电脑使用nvm安装node,管理node版本
  2. HTML5游戏出现新转机
  3. 社区版emqx安装后修改登入到dashboard密码 http://ip:18083/
  4. 请编写函数判断一个数是不是素数
  5. 基于STC15W408AS蓝牙智能小车
  6. 你管这叫操作系统源码(六)
  7. Ubuntu tcpdump详解
  8. 华硕天选如何进入BIOS界面
  9. windows应用小技巧
  10. 几乎全面的食品英文总结 (吃遍英文单词