|
- .版本 2
- .支持库 dp1
- .程序集 程序集1
- .子程序 _启动子程序, 整数型, , 请在本子程序中放置易模块初始化代码
- .局部变量 文件名, 文本型
- .局部变量 文件号, 整数型
- .局部变量 文件路径, 文本型
- .局部变量 MD5, 文本型
- .局部变量 MD5表, 文本型, , "0"
- .局部变量 数据, 字节集
- .局部变量 启动时间, 整数型
- .局部变量 删除, 整数型
- .局部变量 删除失败, 整数型
- 启动时间 = 取启动时间 ()
- 文件名 = 取临时文件名 ()
- .如果真 (运行 (“cmd /c dir /a /b /s file\* >” + 文件名, 真, #隐藏窗口) = 假) ' 请将所有待去重文件放到file目录下 (搜索所有属性的文件以及子目录)
- 输出调试文本 (“运行CMD失败!”)
- 返回 (0)
- .如果真结束
- 文件号 = 打开文件 (文件名, #读入, #禁止写)
- .如果真 (文件号 = 0)
- 输出调试文本 (“打开文件失败”)
- 返回 (0)
- .如果真结束
- .判断循环首 (真)
- 文件路径 = 读入一行 (文件号)
- .判断开始 (文件路径 = “” 且 是否在文件尾 (文件号, ))
- 跳出循环 ()
- .判断 (取文件尺寸 (文件路径) ≤ 0) ' 不处理0字节文件
- 到循环尾 ()
- .默认
- .判断结束
- 数据 = 读入文件 (文件路径)
- MD5 = 取数据摘要 (数据)
- .如果 (文本型数组_查找 (MD5表, MD5))
- 置文件属性 (文件路径, 0)
- .如果 (删除文件 (文件路径))
- 删除 = 删除 + 1
- .否则
- 删除失败 = 删除失败 + 1
- .如果结束
- .否则
- 加入成员 (MD5表, MD5)
- .如果结束
- .判断循环尾 ()
- 数据 = { }
- 关闭文件 (文件号)
- 删除文件 (文件名)
- 信息框 (“文件去重处理完成! 耗时(秒):” + 到文本 ((取启动时间 () - 启动时间) ÷ 1000) + “ 删除:” + 到文本 (删除) + “ 删除失败:” + 到文本 (删除失败), 0, , )
- 返回 (0) ' 可以根据您的需要返回任意数值
- .子程序 文本型数组_查找, 逻辑型, , 在文本型数组中寻找一个文本,找到返回真,未找到返回假
- .参数 数组, 文本型, 数组
- .参数 文本, 文本型
- .局部变量 计数, 整数型
- .计次循环首 (取数组成员数 (数组), 计数)
- .如果真 (数组 [计数] = 文本)
- 返回 (真)
- .如果真结束
- .计次循环尾 ()
- 返回 (假)
复制代码 |
|