移动和替换文件

在执行复制操作之前,必须关闭或仅打开源文件进行读取。 任何线程都不能打开源文件进行写入。 若要将现有文件复制到新文件,请使用 CopyFileCopyFileEx 函数。 如果目标文件已存在,应用程序可以指定 CopyFileCopyFileEx 是否失败。 如果目标文件确实存在且处于打开状态,则它必须已使用适用的共享权限打开。 有关详细信息,请参阅 CreateFile

CopyFileEx 函数还允许应用程序指定回调函数的地址 (请参阅每次复制文件的另一部分时调用的 CopyProgressRoutine) 。 应用程序可以使用此信息显示一个指示器,该指示器将复制的总字节数显示为总文件大小的百分比。

ReplaceFile 函数使用创建原始文件的备份副本选项将一个文件替换为另一个文件。 函数保留原始文件的属性,例如其创建时间、ACL 和加密属性。

还必须关闭文件,然后应用程序才能移动它。 MoveFileMoveFileEx 函数将现有文件复制到新位置并删除原始文件。

MoveFileEx 函数还允许应用程序指定文件移动方式。 函数可以替换现有文件、跨卷移动文件,以及延迟移动文件,直到操作系统重启。