我们有一个应用程序,可以通过使用以下命令将配置文件复制到子文件夹(请参阅下面的日志文件条目)来进行备份:-
BOOL b = MoveFileEx(ExistingFileSpec, NewFileSpec, MOVEFILE_REPLACE_EXISTING | MOVEFILE_WRITE_THROUGH | MOVEFILE_COPY_ALLOWED);
这似乎在大多数系统上都能正常工作,但是在两个系统上,我们在日志文件中收到以下警告:-
2018年6月11日10:58:05.437 W.常见警告C:\ Program Files \ Configuration \ Stores.xml上的MoveFile失败到C:\ Program Files \ Configuration \ Backup \ Stores.xml LastError = 183
Lasterror =183
的意思是“ ERROR_ALREADY_EXISTS
”
这很奇怪,因为MOVEFILE_REPLACE_EXISTING
专门用于在目标文件存在时使此命令起作用。
这是在Win7 x86
机器上发生的。
在先前版本的代码中使用MoveFile
,但在确保目标文件不存在之前立即进行了DeleteFile
调用。当代码回滚到该版本时,它可以工作。
有什么建议吗?