易语言如何实现复制文件夹,包括里面的子文件。并把速度显示出来。

如题所述

第1个回答  2015-09-06
这个是我以前写的复制整个文件夹的子程序。没有做进度条。希望对你有所帮助~
-----------------------------------------------------------------------------------
.版本 2
.程序集 窗口程序集_启动窗口
.子程序 复制文件夹
.参数 复制目录, 文本型
.参数 粘贴目录, 文本型
.局部变量 文件, 文本型
处理事件 ()
.如果真 (文件是否存在 (粘贴目录) = 假)
创建目录 (粘贴目录)
.如果真结束
复制目录 = 复制目录 + “\”
粘贴目录 = 粘贴目录 + “\”
文件 = 寻找文件 (复制目录 + “*.*”, )
.判断循环首 (文件 ≠ “”)
复制文件 (复制目录 + 文件, 粘贴目录 + 文件)
文件 = 寻找文件 (, )
.判断循环尾 ()
文件 = 寻找文件 (复制目录 + “*.*”, #子目录)
.判断循环首 (文件 ≠ “”)
.如果真 (文件 ≠ “.” 且 文件 ≠ “..”)
复制文件夹 (复制目录 + 文件, 粘贴目录 + 文件)
.如果真结束
文件 = 寻找文件 (, #子目录)
.判断循环尾 ()
.子程序 __启动窗口_创建完毕
复制文件夹 (“d:\测试文件夹”, 取运行目录 ())
结束 ()追问

你好 那么如何实现把进度显示出来

追答

这个是我刚改的程序,加一个进度条,一个按钮就可以了。希望对你有所帮助~
-----------------------------------------------------------------------------------
.版本 2
.支持库 shell
.程序集 窗口程序集_启动窗口
.程序集变量 循环次数, 整数型
.程序集变量 总文件数, 整数型
.程序集变量 文件数, 整数型
.子程序 复制文件夹
.参数 复制目录, 文本型
.参数 粘贴目录, 文本型
.局部变量 文件, 文本型
.如果真 (循环次数 = 2)
.如果真 (文件是否存在 (粘贴目录) = 假)
创建目录 (粘贴目录)
.如果真结束
粘贴目录 = 粘贴目录 + “\”
.如果真结束
复制目录 = 复制目录 + “\”
文件 = 寻找文件 (复制目录 + “*.*”, )
.判断循环首 (文件 ≠ “”)
.如果 (循环次数 = 2)
复制文件 (复制目录 + 文件, 粘贴目录 + 文件)
文件数 = 文件数 + 1
进度条1.位置 = 文件数 ÷ 总文件数 × 100
.否则
总文件数 = 总文件数 + 1
.如果结束
文件 = 寻找文件 (, )
.判断循环尾 ()
文件 = 寻找文件 (复制目录 + “*.*”, #子目录)
.判断循环首 (文件 ≠ “”)
.如果真 (文件 ≠ “.” 且 文件 ≠ “..”)
复制文件夹 (复制目录 + 文件, 粘贴目录 + 文件)
.如果真结束
文件 = 寻找文件 (, #子目录)
.判断循环尾 ()
.子程序 _按钮1_被单击
.局部变量 选择目录, 文本型
进度条1.位置 = 0
选择目录 = 浏览文件夹 (“复制目录”, )
处理事件 ()
.计次循环首 (2, 循环次数)
复制文件夹 (选择目录, 取运行目录 ())
.计次循环尾 ()
总文件数 = 0
文件数 = 0
信息框 (“复制完成!”, 0, , )

追问

恩,谢谢

在复制的时候,软件会不会不能操作?

追答

不会~你可以复制个文件夹试试

本回答被网友采纳
第2个回答  2015-09-04
直接使用复制文件指令