7z -m 的参数

7z -m 的参数

起因

几天又有一个文件需要解压,然后,我就解压了,然而,文件名有时乱码,看起来非常的不爽,于是使用7z的一个参数-mcp=936,也就是把解压使用的编码设置为和压缩式相同的gbk编码,奈何我记不清是哪个了.于是就先是7z --help,不行,没有找到,然后就是上网搜,搜来搜去没有搜到,找到7z的官方网站看文档也没有这个参数,知道我再一次找到了上次找到过的网站.于是成功了,不过这总让人很难受.竟然在文档上找不到,就好像是找到了什么偏方一样,不是特别心安!

经过

开始到各种地方搜索-mcp参数,想要找到完整的文档.但是没有找到.不过找到一篇帖子
之后就开始发疯,找源码.然后发现不好编译,然后先是用nmake编译了一遍,之后又用vs2017编了一遍.然后就开始调试.调来调去,其间遇到不少问题,然后又找到了(两篇 ∣ \vert 博客).之后就是试图跟踪命令行参数的流向.终于,然我找到了.
-mcp=<code-page>属于-m参数,官方的帮助页是这样的:

......
  -m{Parameters} : set compression Method
    -mmt[N] : set number of CPU threads
    -mx[N] : set compression level: -mx1 (fastest) ... -mx9 (ultra)
......

只提示了CPU线程数压缩等级两个方法.然而他们在这一个参数中又藏了一堆.

结果

以下是我找到的7z的更多的参数:

  • -mem: AesMode 指定加密算法的类型
  • -mtc: WriteNtfsTimeExtra 依我看,这是这个开关可以使得7z在压缩文件中写入NTFS系统中一些特殊的变量
  • -mcl: ForceLocal 这个应该是强制使用本地编码.至于本地编码是从那个环境中获取的,我也不太知道.
  • -mcu: ForceUtf8 看起来是强制使用Utf8编码,mcu这个缩写,稍微有一点熟悉.
  • -mcp:
    • =<code-page>: 指定编码页
  • -mrsfx: removeSfxBlock 因为7z有一个生成自解压文件的开关-sfx,会内嵌一份小的(嵌入式 xp)7z在生成的压缩包内.所以这个开关用来移除内嵌的Sfx块,然后将自解压包当作普通压缩包来解压.

不知道最新版的7z有没有做出相应的改进.如果已经好了,那我今天的工作就白干了.第一次编译调试源码,今天很疲惫.
最后就是觉得自己看的很慢,看了整整一天.

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值