开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 4893|回复: 20
收起左侧

[易语言纯源码] 文件复制_重命名、文件移动_重命名(不覆盖目标文件并保留两个文件)

[复制链接]
结帖率:94% (133/141)
发表于 2019-12-26 11:07:28 | 显示全部楼层 |阅读模式   山东省青岛市
分享源码
界面截图:
是否带模块: 调用了模块
备注说明: -
本帖最后由 墨影0620 于 2019-12-26 15:04 编辑

  
子程序名返回值类型公开备 注
文件_移动_重命名文本型 移动指定文件到指定的文件位置,若名称重复则重命名。执行成功返回移动后的文件名,否则返回空文本。
参数名类 型参考可空数组备 注
欲移动的文件名文本型欲移动的文件名
移动到的文件名文本型移动到的文件名
变量名类 型静态数组备 注
移动目标文本型 
左边文本型 
右边文本型 
序号整数型 
如果真 (文件是否存在 (欲移动的文件名))
返回 (“”)
移动目标 = 移动到的文件名
左边 = 文本_取左边 (移动到的文件名, “.”, -1)
右边 = 文本_取右边 (移动到的文件名, “.”)
判断循环首 (文件是否存在 (移动目标))
移动目标 = 取文本 (“%d (%d).%d”, 左边, 自加 (序号), 右边)
判断循环尾 ()
如果 (MoveFileA (欲移动的文件名, 移动目标))
返回 (移动目标)
返回 (“”)

子程序名返回值类型公开备 注
文件_复制_重命名文本型 复制指定文件到指定的文件位置,若名称重复则重命名。执行成功返回复制后的文件名,否则返回空文本。
参数名类 型参考可空数组备 注
被复制文件名文本型被复制文件名
复制到文件名文本型复制到文件名
是否覆盖整数型可空。默认为直接覆盖。0=覆盖,非0不覆盖
变量名类 型静态数组备 注
移动目标文本型 
左边文本型 
右边文本型 
序号整数型 
如果真 (文件是否存在 (被复制文件名))
返回 (“”)
移动目标 = 复制到文件名
左边 = 文本_取左边 (复制到文件名, “.”, -1)
右边 = 文本_取右边 (复制到文件名, “.”)
判断循环首 (文件是否存在 (移动目标))
移动目标 = 取文本 (“%d (%d).%d”, 左边, 自加 (序号), 右边)
判断循环尾 ()
如果 (CopyFileA (被复制文件名, 移动目标, 1))
返回 (移动目标)
返回 (“”)


i支持库列表   支持库注释   
spec特殊功能支持库

下面是旧的代码,实测当套循环调用时候会导致卡死。上面是优化以后的,原理是先监测文件是否存在。不存在在进行复制、移动操作!而不是脑X一样的不停地尝试复制、移动
  
子程序名返回值类型公开备 注
文件_移动_重命名文本型 移动指定文件到指定的文件位置,若名称重复则重命名。返回移动后的文件名
参数名类 型参考可空数组备 注
欲移动的文件名文本型欲移动的文件名
移动到的文件名文本型移动到的文件名
变量名类 型静态数组备 注
移动目标文本型 
左边文本型 
右边文本型 
序号整数型 
移动目标 = 移动到的文件名
左边 = 文本_取左边 (移动到的文件名, “.”, -1)
右边 = 文本_取右边 (移动到的文件名, “.”)
判断循环首 (MoveFileA (欲移动的文件名, 移动目标))
移动目标 = 取文本 (“%d (%d).%d”, 左边, 自加 (序号), 右边)
判断循环尾 ()
返回 (移动目标)
子程序名返回值类型公开备 注
文件_复制_重命名文本型 复制指定文件到指定的文件位置,若名称重复则重命名。返回复制后的文件名
参数名类 型参考可空数组备 注
被复制文件名文本型被复制文件名
复制到文件名文本型复制到文件名
变量名类 型静态数组备 注
移动目标文本型 
左边文本型 
右边文本型 
序号整数型 
移动目标 = 复制到文件名
左边 = 文本_取左边 (复制到文件名, “.”, -1)
右边 = 文本_取右边 (复制到文件名, “.”)
判断循环首 (CopyFileA (被复制文件名, 移动目标, 1))
移动目标 = 取文本 (“%d (%d).%d”, 左边, 自加 (序号), 右边)
判断循环尾 ()
返回 (移动目标)


i支持库列表   支持库注释   
spec特殊功能支持库


调用了精易模块上面源码中的“自加”改为“原子递增变量”即可(这就是精易模块里那个dll,我复制了一下改了个名而已)


找不到模块的吧本页面拉到最顶上找到“精易产品”,什么!你看不见?去看看眼科吧!
然后鼠标移动上去,什么你不知道鼠标是啥?不知道移动鼠标?删了易语言吧!
会展开一个列表,然后把移动到第一项“精易模块”,什么!你找不到?去看看眼科吧!
然后点击鼠标左键,什么!你不知道左键在哪?删了易语言吧!


如果还是看不懂,建议您长按主机上的电源键吧!你不适合用电脑!
什么?不知道电源键在哪?找个锤子吧你现在看的东西砸了吧!
您真的不需要它!



补充内容 (2019-12-30 14:29):
有人说文件是否存就不用添加编号了,可是文件存在并不意味着两个文件相同。我记得文件是否存在貌似只检测文件名,并不比较md5或者内容。

补充内容 (2019-12-30 14:30):
也就是说即便是文件是否存在返回真,只能说明两个文件重名。但是再我必须将文件移动到目标目录里且必须同时保留两个文件,这样肯定不行。

点评

如果介意取文本不是核心库的,可以用 取文本 和 + 来代替   山东省青岛市  发表于 2019-12-26 15:08

签到天数: 18 天

发表于 2024-9-18 16:02:09 | 显示全部楼层   山东省泰安市
支持~~~~~~~~~~~~~~~
回复 支持 反对

使用道具 举报

结帖率:100% (2/2)

签到天数: 11 天

发表于 2024-9-5 09:30:00 | 显示全部楼层   广东省佛山市
支持~~~~~~~~~~~~~~~
回复 支持 反对

使用道具 举报

签到天数: 2 天

发表于 2023-10-8 12:45:03 | 显示全部楼层   广东省广州市
没找到被移动文件路径和目标路径在哪配置
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)

签到天数: 13 天

发表于 2023-8-19 12:57:49 | 显示全部楼层   山东省日照市
看看大神
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)
发表于 2023-2-17 17:09:45 | 显示全部楼层   甘肃省天水市
水流觞 发表于 2020-4-22 22:29
感谢大佬分享,学习运用了.但有一点移动可增加个移动文件路径参数就更完美了. ...

我看了半天,也没找到被移动文件路径和目标路径在哪配置
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)
发表于 2020-4-22 22:29:11 | 显示全部楼层   内蒙古自治区阿拉善盟

感谢大佬分享,学习运用了.但有一点移动可增加个移动文件路径参数就更完美了.
回复 支持 反对

使用道具 举报

结帖率:95% (41/43)

签到天数: 22 天

发表于 2019-12-30 16:14:50 | 显示全部楼层   湖北省荆门市
墨影0620 发表于 2019-12-30 14:26
那么请教一下不自动添加序号的话,文件存在该怎么办?
要知道到你文件存在不见得是同一个文件,譬如我两 ...

没事,你重新开一个帖子看看你的写法吧。
回复 支持 反对

使用道具 举报

结帖率:94% (133/141)
 楼主| 发表于 2019-12-30 14:27:33 | 显示全部楼层   山东省青岛市

没关系,刚好看到而已
回复 支持 反对

使用道具 举报

结帖率:94% (133/141)
 楼主| 发表于 2019-12-30 14:26:39 | 显示全部楼层   山东省青岛市
李泽勇2 发表于 2019-12-26 15:13
如果用问价是否存在,那就没有自动添加序号的必要了。

那么请教一下不自动添加序号的话,文件存在该怎么办?
要知道到你文件存在不见得是同一个文件,譬如我两个不同的txt名字完全一样,用文件是否存在。就会检测为存在,我记得文件是否存在是不会检测md5的,只是检测文件名。
回复 支持 反对

使用道具 举报

签到天数: 26 天

发表于 2019-12-27 22:13:22 | 显示全部楼层   四川省泸州市
下载看看
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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