设为首页收藏本站帮助中心
查看: 523|回复: 0
收起左侧

易语言实现文件去重/去除重复 (删除指定目录下所有数据内容重复相同的文件)

[复制链接]
发表于 2020-3-30 17:14:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?加入我们

x
1.png

  1. .版本 2
  2. .支持库 dp1

  3. .程序集 程序集1

  4. .子程序 _启动子程序, 整数型, , 请在本子程序中放置易模块初始化代码
  5. .局部变量 文件名, 文本型
  6. .局部变量 文件号, 整数型
  7. .局部变量 文件路径, 文本型
  8. .局部变量 MD5, 文本型
  9. .局部变量 MD5表, 文本型, , "0"
  10. .局部变量 数据, 字节集
  11. .局部变量 启动时间, 整数型
  12. .局部变量 删除, 整数型
  13. .局部变量 删除失败, 整数型

  14. 启动时间 = 取启动时间 ()
  15. 文件名 = 取临时文件名 ()
  16. .如果真 (运行 (“cmd /c dir /a /b /s file\* >” + 文件名, 真, #隐藏窗口) = 假)  ' 请将所有待去重文件放到file目录下 (搜索所有属性的文件以及子目录)
  17.     输出调试文本 (“运行CMD失败!”)
  18.     返回 (0)
  19. .如果真结束
  20. 文件号 = 打开文件 (文件名, #读入, #禁止写)
  21. .如果真 (文件号 = 0)
  22.     输出调试文本 (“打开文件失败”)
  23.     返回 (0)
  24. .如果真结束
  25. .判断循环首 (真)
  26.     文件路径 = 读入一行 (文件号)
  27.     .判断开始 (文件路径 = “” 且 是否在文件尾 (文件号, ))
  28.         跳出循环 ()
  29.     .判断 (取文件尺寸 (文件路径) ≤ 0)  ' 不处理0字节文件
  30.         到循环尾 ()
  31.     .默认

  32.     .判断结束
  33.     数据 = 读入文件 (文件路径)
  34.     MD5 = 取数据摘要 (数据)
  35.     .如果 (文本型数组_查找 (MD5表, MD5))
  36.         置文件属性 (文件路径, 0)
  37.         .如果 (删除文件 (文件路径))
  38.             删除 = 删除 + 1
  39.         .否则
  40.             删除失败 = 删除失败 + 1
  41.         .如果结束

  42.     .否则
  43.         加入成员 (MD5表, MD5)
  44.     .如果结束

  45. .判断循环尾 ()
  46. 数据 = {  }
  47. 关闭文件 (文件号)
  48. 删除文件 (文件名)
  49. 信息框 (“文件去重处理完成! 耗时(秒):” + 到文本 ((取启动时间 () - 启动时间) ÷ 1000) + “ 删除:” + 到文本 (删除) + “ 删除失败:” + 到文本 (删除失败), 0, , )

  50. 返回 (0)  ' 可以根据您的需要返回任意数值

  51. .子程序 文本型数组_查找, 逻辑型, , 在文本型数组中寻找一个文本,找到返回真,未找到返回假
  52. .参数 数组, 文本型, 数组
  53. .参数 文本, 文本型
  54. .局部变量 计数, 整数型

  55. .计次循环首 (取数组成员数 (数组), 计数)
  56.     .如果真 (数组 [计数] = 文本)
  57.         返回 (真)
  58.     .如果真结束

  59. .计次循环尾 ()
  60. 返回 (假)
复制代码

相关帖子

这个小可爱很神秘,什么都没留下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则