分享一个解压缩工具(Win, Linux ),可以自动解压多重压缩包,从本地读取密码表,解压非 UTF-8 编码的 zip 文件 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
juejinloop
V2EX    分享发现

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

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

    image

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

    11 条回复    2023-08-23 16:53:22 +08:00
    slowman
        1
    slowman  
       2023-08-20 17:29:51 +08:00
    跟 unp 比较呢?
    juejinloop
        2
    juejinloop  
    OP
       2023-08-20 17:41:58 +08:00
    @1423 抱歉之前没有听说过 unp, 是指 https://github.com/mitsuhiko/unp 这个项目吗? 区别和 features 都写在帖子开头了
    Jirajine
        3
    Jirajine  
       2023-08-20 18:14:21 +08:00
    归根结底坑还是 Windows 导致的,Windows 是现存的唯一还不使用 utf-8 的操作系统了,脱离 Windows 后就从来没遇到过编码/字体/i18n 问题
    juejinloop
        4
    juejinloop  
    OP
       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 编码的,所以解压会失败
    slowman
        5
    slowman  
       2023-08-20 18:40:25 +08:00
    @juejinloop unp 在 debian arch 等发行版里都有,可以直接命令行安装
    slowman
        6
    slowman  
       2023-08-20 18:41:23 +08:00
    @juejinloop 你没有听说过 unp,又怎么能做到事先把区别写在帖子开头呢?
    qiuai
        7
    qiuai  
    PRO
       2023-08-20 21:58:04 +08:00
    如果可以套个 GUI 会更好?因为命令行总感觉有点复杂,尤其是我经常解压很多压缩包,一个一个的写命令感觉好复杂
    RejaV
        8
    RejaV  
       2023-08-20 22:36:21 +08:00 via Android
    用 unarchiver
    juejinloop
        9
    juejinloop  
    OP
       2023-08-20 23:43:20 +08:00
    @qiuai 这个工具会自动解压目标文件夹下的压缩包,你把压缩包都放同一个目录就行了。 另外有编译好的 .exe 你也可以直接双击执行
    juejinloop
        10
    juejinloop  
    OP
       2023-08-20 23:44:46 +08:00
    @RejaV 之前试过 unar ,但是我使用过程中有的 ZIP 解压会出错
    LitterGopher
        11
    LitterGopher  
       2023-08-23 16:53:22 +08:00
    个人使用习惯上是 Do one thing and do it well ,拒绝“小而美”。所以从文本获取密码,文件重命名,编码问题等我通常都是通过新写一个 shell 去完成,而不是找一个新工具去搞定如果一个 shell 常用就想办法抽象为更通用一点的写法,然后写成 function 放在 .bashrc 。到此其实依旧力有未逮,所以我一般还会自己去写一些小命令行工具。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5811 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 02:08 PVG 10:08 LAX 18:08 JFK 21:08
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86