You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何通过7-Zip命令行获取压缩包中文件夹的CRC值?

如何通过7-Zip命令行获取压缩包中文件夹的CRC值?

你遇到的这个情况确实挺让人困惑的——7-Zip的GUI明明能显示文件夹的CRC,但用7z l -slt <zipfile>命令行查看时,却只有文件的CRC,文件夹的完全看不到。别急,这其实是命令行工具和GUI的输出逻辑差异导致的,咱们可以用另一种方式拿到文件夹的CRC。

解决方法:用解压预览模式获取完整元数据

7-Zip的x命令(解压)搭配参数后,可以不实际解压文件,只输出所有条目的详细元数据,其中就包含文件夹的CRC。具体命令分系统:

  • Windows系统

    7z x -slt -so <你的压缩包路径> | findstr /i "Path CRC"
    

    解释下参数:

    • -slt:输出详细的列表信息
    • -so:把内容输出到标准输出(而不是真的解压到磁盘)
    • findstr /i "Path CRC":筛选出包含路径和CRC的行,方便你快速对应每个条目(包括文件夹)的CRC值
  • Linux/macOS系统

    7z x -slt -so <你的压缩包路径> | grep -i "Path\|CRC"
    

    这里用grep替代Windows的findstr,作用一样,筛选出关键信息。

如果你想查看完整的元数据(不止Path和CRC),直接去掉后面的筛选命令就行:

7z x -slt -so <你的压缩包路径>

这样输出的内容里,每个文件夹的条目都会包含CRC字段,你可以慢慢找。

为什么7z l -slt不行?

简单说,l命令(列表)的设计初衷是聚焦于压缩包内的文件信息,文件夹在它的逻辑里更像“容器”而非独立的待展示条目,所以默认不会输出文件夹的CRC。而x命令搭配-so后,是模拟解压过程输出所有条目(包括文件夹)的完整元数据,因此能拿到文件夹的CRC。

备注:内容来源于stack exchange,提问作者Fiorenzo Sansone

火山引擎 最新活动