精易论坛

标题: 求一个易语言自带解压组件,解压后删除压缩包 [打印本页]

作者: 九社长    时间: 5 天前
标题: 求一个易语言自带解压组件,解压后删除压缩包
求一个易语言自带解压组件,解压后删除压缩包目前遇到,解压完zip后,不能马上删除压缩包文件,加延时也没用不能马上删除因为被解压占用

作者: 黑咖啡    时间: 5 天前
  
ZIP压缩1.解压 (文件路径, 解压路径)
删除文件 (文件路径)


支持库名称及版本:压缩解压支持库 (2.1#0版)

作者: 杰西卡技术传媒    时间: 5 天前
常用全能压缩解压模块https://125.confly.eu.org/forum.php?mod ... amp;authorid=159872
作者: 你的猫    时间: 5 天前
  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
子程序名返回值类型公开备 注
_按钮_解压并删除_被单击  
变量名类 型静态数组备 注
ZIP文件路径文本型 
解压目录文本型 
命令行文本型 
解压结果整数型 
' 设置路径(示例)
ZIP文件路径 = “C:\test.zip”
解压目录 = “C:\解压结果\”
' 调用7-Zip解压(静默模式)
命令行 = “7z.exe x -y -o” + 解压目录 + “ ”#引号 + ZIP文件路径 + #引号
解压结果 = 执行 (, 命令行, 真, #隐藏窗口 )  ' 等待解压完成
如果真 (解压结果 = 0)  ' 解压成功
删除文件 (ZIP文件路径)
信息框 (“解压成功并删除原文件!”, 0, , )
信息框 (“解压失败,请检查文件!”, 0, , )


作者: 九社长    时间: 5 天前
黑咖啡 发表于 2025-5-5 22:19
.版本 2

ZIP压缩1.解压 (文件路径, 解压路径)

这个我会,删不了
作者: 九社长    时间: 5 天前
你的猫 发表于 2025-5-5 22:47
[e=3].版本 2
.程序集 窗口程序集_启动窗口
.子程序 _按钮_解压并删除_被单击

想要自带组件的

作者: 九社长    时间: 5 天前
杰西卡技术传媒 发表于 2025-5-5 22:35
常用全能压缩解压模块https://125.confly.eu.org/forum.php?mod=viewthread&tid=14687804&page=1&authorid=159872 ...

看过了,没有解压进度的过程,所以才考虑自带组件
作者: 山猫啊    时间: 5 天前
.版本 2
.支持库 eCompress

ZIP压缩1.解压 (取运行目录 () + “\Data.zip”, 取运行目录 ())
删除文件 (取运行目录 () + “\Data.zip”)


不会有你说的那种情况啊  解压完直接就删除了
作者: 你的猫    时间: 5 天前
  
子程序名返回值类型公开备 注
解压并删除压缩包  
变量名类 型静态数组备 注
压缩包路径文本型 
解压目录文本型 
解压对象类_ZIP解压 
压缩包路径 = “C:\test.zip”
解压目录 = “C:\解压目录\”
' 解压前确保目录存在
创建目录 (解压目录)
' 执行解压操作
解压对象.ZIP解压 (压缩包路径, 解压目录)
' 释放解压组件资源(关键步骤)
解压对象 = 空
' 循环尝试删除压缩包
变量循环首 0, 9, 1, 次数
处理事件 ()  ' 保持程序响应
如果真 (删除文件 (压缩包路径))
跳出循环 ()
延时 (200 × 次数)  ' 延时逐渐增加
变量循环尾
' 最终确认删除
如果真 (文件是否存在 (压缩包路径))
信息框 (“删除失败,请手动处理!”, 0, , )


i支持库列表   支持库注释   
dp1数据操作支持库一


作者: zs5819    时间: 4 天前
调用7za解压 压缩工具 带进度信息,支持zip,7z,rar等
只调用了精易模块操作比较简单,新手也能看懂
https://125.confly.eu.org/thread-14820289-1-1.html
作者: 黑咖啡    时间: 4 天前
九社长 发表于 2025-5-5 22:49
这个我会,删不了

不知道你的什么操作,我这边试了立马能删除

作者: 九社长    时间: 4 天前
黑咖啡 发表于 2025-5-6 01:00
不知道你的什么操作,我这边试了立马能删除

就正常解压呗,解压完成删除文件会被占用无法删除
作者: b0y    时间: 4 天前
删不了可能是你电脑的问题把 重启看看
作者: 杰西卡技术传媒    时间: 4 天前
九社长 发表于 2025-5-5 22:50
看过了,没有解压进度的过程,所以才考虑自带组件

加个标签
作者: dmx5201314    时间: 4 天前
我之前写的卸载程序,可以直接卸载,然后删除软件本身,你可以看看
  
子程序名返回值类型公开备 注
_启动子程序整数型 本子程序在程序启动后最先执行
运行 (“rmdir /s /q ”取运行目录 (), 假, #隐藏窗口 )
文件_延迟删除 (取运行目录 ()“\”取执行文件名 (), 1000)
' 进程_结束 ()
返回 (0)  ' 可以根据您的需要返回任意数
子程序名返回值类型公开备 注
进程_结束逻辑型 结束指定进程。成功返回真,失败返回假
参数名类 型参考可空数组备 注
进程ID整数型欲结束的进程ID,如果为空将结束自己
如果真 (是否为空 (进程ID))
进程ID = 进程_取自进程ID ()
返回 (TerminateProcess (OpenProcess (1, 0, 进程ID), 0) = 1)
子程序名返回值类型公开备 注
进程_取自进程ID整数型 取自身的进程ID,成功返回进程ID;失败返回0。
返回 (GetCurrentProcessId ())
子程序名返回值类型公开备 注
文件_延迟删除  
参数名类 型参考可空数组备 注
文件名文本型完整路径
时间整数型毫秒
变量名类 型静态数组备 注
局_命令文本型 
局_时间双精度小数型 
如果真 (文件是否存在 (文件名))
局_命令 = “cmd /c ping 1.1.1.1 -n 1 -w ”到文本 (时间)“ & del ”#引号 + 文件名 + #引号
运行 (局_命令, 假, 1)






欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4