Windows资源管理器在复制时重命名文件并找到现有文件

Mic*_*ent 4 delphi winapi

Windows资源管理器在复制时重命名文件并找到现有文件 - 我们是否可以从Delphi代码访问该工具?

在使用时编写重命名目标文件名的代码是相当直接的TFile.Copy(),但如果可用的话,最好使用现有的代码.

Dav*_*nan 9

IFileOperation是shell的文件复制功能的API.用它来复制shell的行为.在您的情况下,您将需要使用SetOperationFlags指定FOF_RENAMEONCOLLISION标志:

如果已存在具有目标名称的项目,则在移动,复制或重命名操作中为新名称操作项目.

  • 请注意,`IFileOperation`仅适用于Vista +.在XP和更早版本中,使用`SHFileOperation()`代替.它还有一个`FOF_RENAMEONCOLLISION`标志. (3认同)