移动和替换文件

在执行复制操作之前,必须关闭源文件或只将其打开为读取模式。 没有线程可以打开源文件进行写入。 若要将现有文件复制到新文件,请使用 CopyFileCopyFileEx 函数。 应用程序可以指定,如果目标文件已存在,CopyFileCopyFileEx 将会失败。 如果目标文件存在且已打开,则必须使用适用的共享权限将其打开。 有关详细信息,请参阅 CreateFile

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

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

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

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