foyax
(foyax)
2
用脚本的话,还是使用7z.dll更智能、自由,也更快。
loli
3
没有办法知道当前状态
假如解压出错就卡住了
我上面的显示原始界面就是为了防止万一7zip出错了能有个办法解决
loli
6
其实就是虽然这个是工作于7zip
但真正与7zip相关的代码很少…
我并不需要去了解7zip是怎么实现的.
我大概看了一下你说的这个
如果要完成那几乎每一步都要让我自己去实现
重做一个7zip?
目前就像api一样吧.
我只管调用…能有返回值就行…
甚至界面我都不需要去管,我只读取然后复刻就行
我github中有个everything的相关SDK…
我的看法就是…不大行,遇见毛病得折腾半天,现在还有几个小毛病放在那管不了
搜索this.7z
只有15处相关.
所以此脚本只有不到10个地方调用了7zip
foyax
(foyax)
7
它虽然是DLL,使用的却是7Z.exe的语法。
我重新包装了dll,只有三四个函数,获取文件列表/解压到目录/解压到内存。
1 个赞
loli
8
其实只要实现了就好
遍历密码这种事情本身就是个费时的事
目前的规则都不能说完美
偶尔还会有出错的时候
错误不频繁我都不管的,只有频繁遇见某个错误我才会去测试
此脚本有日志功能,每步都有耗时
[命令行正确] [47ms] [20220613201423]
短的像这种
长的可能耗时1秒钟了…
但如果耗时1秒钟不用我去输入密码我觉得我还是能接受的.
1 个赞
foyax
(foyax)
10
可能我们的需求不同吧,我倒没在意过界面/密码之类的问题,99%场景,都是追求快速无碍。
一个手势过去,获取文件列表20毫秒,解压100多毫秒,基本上200毫秒内完成。当然那种数十G的压缩包,还是要老实用系统菜单。
我更多使用的是解压本身,比如下载文件到内存,再解压到内存,再用文件列表去碰撞规则,实现某些软件的自动更新等等。
loli
11
如果我认为事情本身是件耗时的事
我就不会过度去关注它的耗时
只会关注事情能否完成
这种事情有很多
比方说下载,比方说转换文件,比方说我发过视频剪切合并
解压我认为也是属于这种
foyax
(foyax)
12
能快则快嘛。通常百M内的解压时间都会比双击进入一个目录的用时快吧
由于深度依赖命令行
既然是依赖命令行能不能做给bandizip 的版本呢 毕竟界面好看而且还有下拉选择密码菜单
loli
16
更新了新版本,推荐更新,主要是2.0刚出来没多久有一些小毛病
- 实现更新新版本时在ini中自动写入选项
由于注释不能用此方法更新,以后会提供 ini说明.txt
- 粗略写了一下MD说明
- 新增
3.1 新增测试日志cmdLog
3.2 新增隐藏界面无干扰运行,hideRunSize
3.3 新增多个文件的嵌套解压 muiltNesting
3.4 日志新增行号
3.5 让新建压缩包自动重命名
3.6 让 hideRunSize 工作于压缩
3.7 为 exe 生成信息
3.8 移除压缩的 -aou 参数,参数无效,已经用其他方法替代
- 修复
4.1 修复出现重复密码
4.2 修复解压成功判断
4.3 修复写入日志时的冲突
4.4 修复检测时冲突
4.5 修复日志等级
- 测试
5.1 不显示托盘图标(托盘图标无用且有干扰)
5.2 暂时注释掉打开压缩包时的错误检查
1 个赞
loli
17
感谢青蛙大大的推荐…
我在想到底要不要在 releases 中添加一个版本集成 7zip
以去除百度云的下载,频繁打包很烦
主要顾虑是这会不会 license 相关的问题
7zip源代码 license 是 GNU
exe license好像也是这样
exe相关的
我不太懂这方面的…
1 个赞
这图里2个问题 一个是每个压缩包都要输入密码 密码是一样9个包
一个是 这个界面白了吧唧的是 卡到bug了嘛 大佬
loli
19
界面白了就是因为它要输密码了…
你输完密码应该就不白了…
至于为什么9个同样的包都要输密码…
你在ini文件里搜索 lastPass
看看是不是你输的这个…
如果不是就代表错了…
顺便说下在这输入密码不会添加到密码列表
你可以尝试复制密码再试一下
如果不行把出错的压缩包百度共享 私信给我链接和密码我测试一下
昨天发这个白的时候还不是最新版 更新完最新版没问题了