本帖最后由 墨影0620 于 2019-12-26 15:04 编辑
|
文件_移动_重命名 | 文本型 | | |
欲移动的文件名 | 文本型 | | | | 移动到的文件名 | 文本型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 移动目标 | 文本型 | | | 左边 | 文本型 | | | 右边 | 文本型 | | | 序号 | 整数型 | | | 如果真 (文件是否存在 (欲移动的文件名 ) = 假)返回 (“”)移动目标 = 移动到的文件名左边 = 文本_取左边 (移动到的文件名, “.”, -1 )右边 = 文本_取右边 (移动到的文件名, “.”)判断循环首 (文件是否存在 (移动目标 )) 移动目标 = 取文本 (“%d (%d).%d”, 左边, 自加 (序号 ), 右边 )判断循环尾 ()如果 (MoveFileA (欲移动的文件名, 移动目标 )) 返回 (移动目标 )返回 (“”)|
文件_复制_重命名 | 文本型 | | |
被复制文件名 | 文本型 | | | | 复制到文件名 | 文本型 | | | | 是否覆盖 | 整数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 移动目标 | 文本型 | | | 左边 | 文本型 | | | 右边 | 文本型 | | | 序号 | 整数型 | | | 如果真 (文件是否存在 (被复制文件名 ) = 假)返回 (“”)移动目标 = 复制到文件名左边 = 文本_取左边 (复制到文件名, “.”, -1 )右边 = 文本_取右边 (复制到文件名, “.”)判断循环首 (文件是否存在 (移动目标 )) 移动目标 = 取文本 (“%d (%d).%d”, 左边, 自加 (序号 ), 右边 )判断循环尾 ()如果 (CopyFileA (被复制文件名, 移动目标, 1 )) 返回 (移动目标 )返回 (“”)
下面是旧的代码,实测当套循环调用时候会导致卡死。上面是优化以后的,原理是先监测文件是否存在。不存在在进行复制、移动操作!而不是脑X一样的不停地尝试复制、移动
|
文件_移动_重命名 | 文本型 | | |
欲移动的文件名 | 文本型 | | | | 移动到的文件名 | 文本型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 移动目标 | 文本型 | | | 左边 | 文本型 | | | 右边 | 文本型 | | | 序号 | 整数型 | | |
移动目标 = 移动到的文件名 左边 = 文本_取左边 (移动到的文件名, “.”, -1 )右边 = 文本_取右边 (移动到的文件名, “.”)判断循环首 (MoveFileA (欲移动的文件名, 移动目标 ) = 假)移动目标 = 取文本 (“%d (%d).%d”, 左边, 自加 (序号 ), 右边 )判断循环尾 ()返回 (移动目标 )|
文件_复制_重命名 | 文本型 | | |
被复制文件名 | 文本型 | | | | 复制到文件名 | 文本型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 移动目标 | 文本型 | | | 左边 | 文本型 | | | 右边 | 文本型 | | | 序号 | 整数型 | | |
移动目标 = 复制到文件名 左边 = 文本_取左边 (复制到文件名, “.”, -1 )右边 = 文本_取右边 (复制到文件名, “.”)判断循环首 (CopyFileA (被复制文件名, 移动目标, 1 ) = 假)移动目标 = 取文本 (“%d (%d).%d”, 左边, 自加 (序号 ), 右边 )判断循环尾 ()返回 (移动目标 )
调用了精易模块,上面源码中的“自加”改为“原子递增变量”即可(这就是精易模块里那个dll,我复制了一下改了个名而已)
找不到模块的吧本页面拉到最顶上找到“精易产品”,什么!你看不见?去看看眼科吧!
然后鼠标移动上去,什么你不知道鼠标是啥?不知道移动鼠标?删了易语言吧!
会展开一个列表,然后把移动到第一项“精易模块”,什么!你找不到?去看看眼科吧!
然后点击鼠标左键,什么!你不知道左键在哪?删了易语言吧!
如果还是看不懂,建议您长按主机上的电源键吧!你不适合用电脑!
什么?不知道电源键在哪?找个锤子吧你现在看的东西砸了吧!
您真的不需要它!
补充内容 (2019-12-30 14:29):
有人说文件是否存就不用添加编号了,可是文件存在并不意味着两个文件相同。我记得文件是否存在貌似只检测文件名,并不比较md5或者内容。
补充内容 (2019-12-30 14:30):
也就是说即便是文件是否存在返回真,只能说明两个文件重名。但是再我必须将文件移动到目标目录里且必须同时保留两个文件,这样肯定不行。 |