分享一个解压缩工具(Win, Linux ),可以自动解压多重压缩包,从本地读取密码表,解压非 UTF-8 编码的 zip 文件

2023-08-20 17:22:17 +08:00
 juejinloop
  1. 支持 rar, 7z, zip, tar 格式
  2. 可以寻找并解压目标目录下的压缩包,多重压缩包会自动解压
  3. 可以从本地文本文件读取密码自动尝试解压,密码文件格式项目说明里有
  4. 可以自动重命名正确的后缀,例子,分卷压缩文件.7z.删除 001 重命名至 文件.7z.001
  5. 可以正确解压非 UTF-8 编码的 zip 文件。之前在 Linux 上一直没找到可以解压中文/日文等 WIN 系统下打包并加密的 zip 文件的方案,这个工具可以解决这个问题。

GitHub 地址: https://github.com/davuses/PyExtract

1692 次点击
所在节点    分享发现
11 条回复
1423
2023-08-20 17:29:51 +08:00
跟 unp 比较呢?
juejinloop
2023-08-20 17:41:58 +08:00
@1423 抱歉之前没有听说过 unp, 是指 https://github.com/mitsuhiko/unp 这个项目吗? 区别和 features 都写在帖子开头了
Jirajine
2023-08-20 18:14:21 +08:00
归根结底坑还是 Windows 导致的,Windows 是现存的唯一还不使用 utf-8 的操作系统了,脱离 Windows 后就从来没遇到过编码/字体/i18n 问题
juejinloop
2023-08-20 18:31:25 +08:00
@Jirajine 是的,另外也是 zip 格式的缺陷,没有 header 说明文件名的编码格式。 引用一段 zhihu 的回答:
> ZIP 在压缩与解压缩的时候默认使用了系统的本地编码,如 windows 中文环境下为 GBK ,日文环境下是 JIS ,linux 默认编码为 UTF8 等;那么在不同系统环境下,只要压缩与解压缩的编码不一致,就会出现乱码。

比较头疼的是加密 zip 文件是 GBK/JIS 编码而且密码包含非英文的情况,需要把密码也进行对应编码才行。但是命令行执行 `unzip -O GBK -P 密码` 的话, “密码”是通过 utf-8 编码不是 GBK 编码的,所以解压会失败
1423
2023-08-20 18:40:25 +08:00
@juejinloop unp 在 debian arch 等发行版里都有,可以直接命令行安装
1423
2023-08-20 18:41:23 +08:00
@juejinloop 你没有听说过 unp,又怎么能做到事先把区别写在帖子开头呢?
qiuai
2023-08-20 21:58:04 +08:00
如果可以套个 GUI 会更好?因为命令行总感觉有点复杂,尤其是我经常解压很多压缩包,一个一个的写命令感觉好复杂
RejaV
2023-08-20 22:36:21 +08:00
用 unarchiver
juejinloop
2023-08-20 23:43:20 +08:00
@qiuai 这个工具会自动解压目标文件夹下的压缩包,你把压缩包都放同一个目录就行了。 另外有编译好的 .exe 你也可以直接双击执行
juejinloop
2023-08-20 23:44:46 +08:00
@RejaV 之前试过 unar ,但是我使用过程中有的 ZIP 解压会出错
LitterGopher
2023-08-23 16:53:22 +08:00
个人使用习惯上是 Do one thing and do it well ,拒绝“小而美”。所以从文本获取密码,文件重命名,编码问题等我通常都是通过新写一个 shell 去完成,而不是找一个新工具去搞定——如果一个 shell 常用就想办法抽象为更通用一点的写法,然后写成 function 放在 .bashrc 。到此其实依旧力有未逮,所以我一般还会自己去写一些小命令行工具。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/966847

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX