询问一个winAPI,MoveFile或CopyFile的自动重命名版本生成, - Copy(n)后缀

CandPointer 2010-12-29 08:02:14
windows下面,复制文件/文件夹,可以用MoveFile或者CopyFile系列的函数。

但是,能不能自动重命名?
就像在Explorer里面,我们对一个文件/文件夹按下Ctrl + C复制,在当前目录下,然后,按下Ctrl + V粘贴。
英文版下,会自动生成 *** - Copy(1), *** - Copy(2), *** - Copy(3) (***为原文件/文件夹名)

有没有API,复制文件,能够自动生成 带有 -Copy(n) 的后缀,以避免目标文件名存在。
或者,有没有批处理/powerShell可以做到?
我要对几个 文件夹,定期复制,生成 - Copy(n)后缀的备份。




CopyFile 这个API,好像不能自动重命名,生成 *** - Copy(1)

最多只能得到是否失败,或者覆盖
bFailIfExists
If this parameter is TRUE and the new file specified by lpNewFileName already exists, the function fails. If this parameter is FALSE and the new file already exists, the function overwrites the existing file and succeeds.


难道一定要自己写程序,判断是否存在了lpNewFileName ,是否存在lpNewFileName - Copy(1),是否存在lpNewFileName - Copy(2)...是否存在lpNewFileName - Copy(n)
然后,再生成 是否存在lpNewFileName - Copy(n+1)?
...全文
269 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
arong1234 2010-12-29
  • 打赏
  • 举报
回复
当然是这样!如果一个函数做了你说的这个效果,别人想做别的效果就非常难!不是每种情况下程序员都需要你这种效果的!所有的程序设计都应该努力避免设计出你要的这种函数,api应该功能通用,不应该把复杂的功能封装到一起
CandPointer 2010-12-29
  • 打赏
  • 举报
回复
结帖率怎么这么可怕。

我一直100%结贴的。

今天发布两个帖子,还没结贴,就变成了结帖率75%。

欢迎踊跃给出答案或建议,朋友们放心,我是积极结贴的人。

24,855

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧