好友
阅读权限25
听众
最后登录1970-1-1
|
本帖最后由 不谙世事的雨滴 于 2023-9-6 13:41 编辑
学习资料虽诱人,但解压是真不轻松,想必各位都体会过这点。如今在网盘上分享的学习资料几乎个个都带有多层压缩和扩展名伪装,每次解压往往都要输入多次密码、改很多次文件名,偶尔下个一两个可能还能应付得过来,但是当你下载了一堆的时候,就能深刻体会到解压时的煎熬了,而且解压过后,里面的文件夹套娃(一个文件夹下只有一个文件夹,此时外层的文件夹完全是多余的,会浪费你一次点击鼠标进入下一级文件夹的时间)、推广文件也很让人心烦。这时候就非常需要一款给力的工具来解决以上的烦恼了,我相信f-keydle会成为其中之一。
我在今年过年的时候曾经做过f-keydle的1.0版本:https://www.52pojie.cn/thread-1741836-1-1.html,但是对压缩包的判断逻辑完全依靠判断文件的扩展名,对扩展名正常的多层压缩包效果很好,但是一旦遇到扩展名伪装的压缩包,就无能为力了。
现在我对程序进行了升级,且原帖已经不能编辑了,所以新开一个帖子。
【下面是新版新增和改进的地方】:
1.我网上翻遍了各种压缩包的文件二进制特征(文件头或者特定的偏移量的特征),写了个C语言程序用来判断文件是否为压缩包类型,添加到了新一版本的组件里(“_压缩文件识别器_.exe”)。现在不管压缩包扩展名伪装成什么样,都能通过二进制特征识别,同时不是压缩包的文件也会排除在外,不会尝试解压而耽误时间;
2.新版本优化了对分卷压缩包的识别和解压,老版只考虑到了“.001”这一种分卷类型,新版新增支持“.z01”、“.zx01”、“.part001.rar”、“.r01”这几种分卷类型;
3.还顺便升级了密码编码的支持,老版对密码仅支持ANSI编码,虽然绝大多数情况下是够用的,但是不排除会有一些秀儿在密码里添加表情包之类的特殊字符或者多国语言,比如:🙅🏻⚠️❗🩹🌡️¼√るべ,我试过,rar和7z的加密是支持这些特殊字符的,所以新版本将密码的编码范围扩充至UTF-8,需要注意的是密码含有特殊字符这个特性可能需要操作系统为win10(及以上),我在win7上试过,同样的文件和密码win7就解不开,win8我没试过,可能win8也支持解析命令行里的Unicode编码,但只是猜测;
4.既然考虑到了扩展名伪装,删除推广的时候就要额外注意了,如果压缩包伪装成.txt文件,要删除的推广文件也是.txt文件,而且因为各种原因(比如密码错误),伪装成.txt的压缩包没能解开,这时候删推广就会连带压缩包也删掉了,这不就芭比Q了?于是新版本新增了一种删除模式“04-删除指定文件【保护压缩文件】.bat”,且“01-解多层压缩+解文件夹套娃.bat”在执行删除指定文件的操作时也采用了相同的保护机制,来保护压缩包不被匹配删除,只不过运行速度没有“03-删除指定文件【不保护压缩文件】.bat”来的快,当确定当前文件夹下所有压缩包都解开了,且对自己写的匹配方式有自信时,可以用“03-xxx.bat”节省时间;
5.新增了用来尝试获取文件夹和其中所有内容的完全访问权限的“05-修复文件夹访问读写权限.bat”,有时偶尔会碰到文件或文件夹设置了拒绝权限,访问不了的情况,可以尝试使用这个批处理。这个功能本来在“01-xxx.bat”“02-xxx.bat”中就集成了(“03-xxx.bat”、“04-xxx.bat”没有集成,不过估计问题不大),解压和去套娃的同时就会进行这些获取权限的操作,确保每个文件都能处理到,这次是单独拎出来做了个功能,虽然用到的机会不多,但希望在需要的时候能帮到各位。
6.修复了导入“_导入bandizip推荐配置(开启并行解压等).reg”注册表文件导致原有bandizip密码本消失的bug,现在可以放心导入了。
新版继承了绝大部分(这是保险一点的说法,也可以说是所有的)老版v1.0的特性,之前下载过且熟悉v1.0的朋友可以往下翻去下载了。
考虑到还有很大一部分朋友是第一次接触,下面我再介绍一下继承过来的老版的特性:
1.软件可以解除一个目录下所有子项的多层压缩还有文件夹套娃,支持目标路径(也就是需要处理的文件夹的路径)里有各种特殊记号、表情包;
2.只要提前把本次或本批次解压用到的所有的密码设置进去,即使每层压缩包的密码不同,而且压缩层数多到令人发指,理论上不出错的话,也都可以给你解开;
3.压缩包是逐个解压的,一旦一个压缩文件解压成功,就会被删除(不可逆,不会进回收站。不过可以放心,判断的准确率很高,截至到现在,还没出现过解压失败却还是删除原压缩文件的情况),释放空间,解压出错的文件将维持原样;
4.解压用的是bandizip(v7.30绿色便携版),相信可以为你省出不少时间;
5.同时还能够递归删除目标目录下的指定文件,比如小姐姐图片里的推广链接(*.url)和推广用的txt文件。
哔哔了一堆,该放链接了,链接和之前v1.0一样:
https://wwkq.lanzoum.com/b01keydle
普通用户请下载下图所指的两个文件,“v2.x的使用演示.zip”解压后是使用教程
下载指引
感兴趣的大佬可以研究一下源码:“f-keydle_解压、去套娃助手_v2.0【源码】.zip”
和v1.0一样,新版秉持开放的态度,软件本体、使用教程和全部源代码全部可以自由使用。
本程序github开源地址:
https://github.com/ssh-buanshishi/f-keydle______Multilayer-Compression--and--single-chained---Folder-Nesting--handler
需要完善的地方:
识别压缩文件的那个程序的源码“_压缩文件识别器_.exe.cpp”可能还有不完善的地方,尤其是对tar文件识别的那一块,希望对压缩文件方面熟悉的大佬能帮忙完善一下,提升识别的准确率;
此外,本人因为水平所限,新版组件中一部分采用了python程序,虽然选择了打包成一个文件夹以改善启动速度,但运行速度可能还是会比较慢,希望有感兴趣的大佬在能把python程序的那部分(extracter.py)优化一下运行速度,或者改写成效率较高的另一种语言,C我估计是不行的,C++我估计有可能,但估计会掉很多头发,也会碰到编码的问题,毕竟python对unicode编码的支持(配置bandizip解压命令,传送带有特殊字符的密码的那一块)也是我选择用python的原因,量力而行,不行的话就算了。
最后祝各位使用愉快!
|
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|