设为首页收藏本站淘宝杂货铺

从F到0 - From F to 0

 找回密码
 注册已关闭
搜索
查看: 2943|回复: 0
收起左侧

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

[复制链接]
发表于 2020-3-30 17:14:16 | 显示全部楼层 |阅读模式
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. 返回 (假)
复制代码

相关帖子

您需要登录后才可以回帖 登录 | 注册已关闭

本版积分规则

QQ|手机版|Archiver|从F到0 ( 蒙ICP备17002595号-1 )
蒙公网安备15010402000325号

腾讯云安全认证

GMT+8, 2024-4-20 09:03 , Processed in 0.599034 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表