易语言怎么批量取文件MD5包括子目录内的文件,把取出的文件名和MD5值放到编辑框1里面?
.版本2.支持库encrypt.程序集窗口程序集1.程序集变量文本组,文本型,,"0".子程序_按钮1_被单击.局部变量x,整数型.局部变量目录,文本型通用对话框1.打开...
.版本 2
.支持库 encrypt
.程序集 窗口程序集1
.程序集变量 文本组, 文本型, , "0"
.子程序 _按钮1_被单击
.局部变量 x, 整数型
.局部变量 目录, 文本型
通用对话框1.打开 ()
目录 = 取文本左边 (通用对话框1.文件名, 倒找文本 (通用对话框1.文件名, “\”, , 假))
查找文件 (“.exe”, “.dat”,“.dll”, 目录, 文本组)
.计次循环首 (取数组成员数 (文本组), x)
编辑框1.加入文本 (文本组 [x] + “,” + 文件取摘要 (目录 + 文本组 [x], #取摘要_MD5) + #换行符)
标签2.标题 = 到文本 (x)
.计次循环尾 ()
写到文件 (“MD5值.txt”, 到字节集 (编辑框1.内容))
.子程序 查找文件, 逻辑型, , 查找文件的子程序 返回为真则有查找到文件,为假则无
.参数 查找文件名1, 文本型, , 欲查找的文件名1
.参数 查找文件名2, 文本型, 可空, 欲查找的文件名2
.参数 查找文件名3, 文本型, 可空, 欲查找的文件名3
.参数 查找路径, 文本型, , 查找文件的路径
.参数 文件组, 文本型, 参考 数组, 用于存放 找到文件的位置 的文本数组
.局部变量 文件名, 文本型
.局部变量 文件类型, 整数型
处理事件 () ' 加入它,可以在程序运行中,响应人为的操作
.如果真 (取文本右边 (查找路径, 1) ≠ “\”) ' 设置完整的文件路径
查找路径 = 查找路径 + “\”
.如果真结束
文件类型 = 位或 (#子目录, #存档文件)
文件名 = 寻找文件 (查找路径 + “*.*”, 文件类型) ' 寻找当前目录的指定文件
.判断循环首 (文件名 ≠ “”) ' 显示找到的文件
文件名 = 寻找文件 (, 16)
.如果真 (寻找文本 (到大写 (文件名), 到大写 (查找文件名1), 0, 假) > 0)
加入成员 (文件组, 文件名)
.如果真结束
.如果真 (寻找文本 (到大写 (文件名), 到大写 (查找文件名2), 0, 假) > 0)
加入成员 (文件组, 文件名)
.如果真结束
.如果真 (寻找文本 (到大写 (文件名), 到大写 (查找文件名3), 0, 假) > 0)
加入成员 (文件组, 文件名)
.如果真结束
.判断循环尾 ()
.判断开始 (取数组成员数 (文件组) > 0)
返回 (真)
.默认
返回 (假)
这是我写的 取不了子目录的MD5值 展开
.支持库 encrypt
.程序集 窗口程序集1
.程序集变量 文本组, 文本型, , "0"
.子程序 _按钮1_被单击
.局部变量 x, 整数型
.局部变量 目录, 文本型
通用对话框1.打开 ()
目录 = 取文本左边 (通用对话框1.文件名, 倒找文本 (通用对话框1.文件名, “\”, , 假))
查找文件 (“.exe”, “.dat”,“.dll”, 目录, 文本组)
.计次循环首 (取数组成员数 (文本组), x)
编辑框1.加入文本 (文本组 [x] + “,” + 文件取摘要 (目录 + 文本组 [x], #取摘要_MD5) + #换行符)
标签2.标题 = 到文本 (x)
.计次循环尾 ()
写到文件 (“MD5值.txt”, 到字节集 (编辑框1.内容))
.子程序 查找文件, 逻辑型, , 查找文件的子程序 返回为真则有查找到文件,为假则无
.参数 查找文件名1, 文本型, , 欲查找的文件名1
.参数 查找文件名2, 文本型, 可空, 欲查找的文件名2
.参数 查找文件名3, 文本型, 可空, 欲查找的文件名3
.参数 查找路径, 文本型, , 查找文件的路径
.参数 文件组, 文本型, 参考 数组, 用于存放 找到文件的位置 的文本数组
.局部变量 文件名, 文本型
.局部变量 文件类型, 整数型
处理事件 () ' 加入它,可以在程序运行中,响应人为的操作
.如果真 (取文本右边 (查找路径, 1) ≠ “\”) ' 设置完整的文件路径
查找路径 = 查找路径 + “\”
.如果真结束
文件类型 = 位或 (#子目录, #存档文件)
文件名 = 寻找文件 (查找路径 + “*.*”, 文件类型) ' 寻找当前目录的指定文件
.判断循环首 (文件名 ≠ “”) ' 显示找到的文件
文件名 = 寻找文件 (, 16)
.如果真 (寻找文本 (到大写 (文件名), 到大写 (查找文件名1), 0, 假) > 0)
加入成员 (文件组, 文件名)
.如果真结束
.如果真 (寻找文本 (到大写 (文件名), 到大写 (查找文件名2), 0, 假) > 0)
加入成员 (文件组, 文件名)
.如果真结束
.如果真 (寻找文本 (到大写 (文件名), 到大写 (查找文件名3), 0, 假) > 0)
加入成员 (文件组, 文件名)
.如果真结束
.判断循环尾 ()
.判断开始 (取数组成员数 (文件组) > 0)
返回 (真)
.默认
返回 (假)
这是我写的 取不了子目录的MD5值 展开
展开全部
我根本没有看你什么代码、
因为我 不是菜鸟。(可以这么说混了几年了)
因为目录根本没有数据的存在
所以根本不能去取他的MD5
MD5是计算一个数据的数据摘要
建议你用文件名来算MD5
因为文件名不会重复,并且计算的时间相对较短,对于小文件可以计算MD5
文件过大后劲量不用计算他的MD5可以取出大文件的局部数据进行运算!得到MD5相同的文件MD5坑定一样!
因为我 不是菜鸟。(可以这么说混了几年了)
因为目录根本没有数据的存在
所以根本不能去取他的MD5
MD5是计算一个数据的数据摘要
建议你用文件名来算MD5
因为文件名不会重复,并且计算的时间相对较短,对于小文件可以计算MD5
文件过大后劲量不用计算他的MD5可以取出大文件的局部数据进行运算!得到MD5相同的文件MD5坑定一样!
追问
我知道根目录没有数据
计算到的是文件的MD5
我是只得到了指定目录里面某种文件的MD5值 ,我想连同它里面子目录的文件也一起计算出MD5
追答
.....全部。或者算目录!无语
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询