You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows下复制文件/目录时保留日期与属性的技术问题咨询

复制文件与目录时的属性保留及权限处理疑问
  • 我希望复制文件和目录时保留所有属性,因此使用了CopyFileEx和CreateDirectoryEx,但这两个API无法保留文件时间,所以需要获取文件句柄并调用SetFileTime来实现。
  • 针对CopyFileEx:它会通过回调传递目标文件句柄,我可以在此处调用SetFileTime,但官方文档未明确说明该回调是否一定会被触发。我更倾向于在复制完成后设置文件时间,但回调无法指示是否为最后一次调用,因此只能在首次回调时设置。不过我担心,如果CopyFileEx后续写入更多数据,最后写入时间会不会被覆盖?(目前在小文件测试中,三个文件时间均能被保留。)
  • 针对CreateDirectoryEx:它完全不提供对目标目录句柄的访问权限。虽然我可以在调用该API后立即打开目标目录,但这种做法存在竞争条件,而且CreateDirectoryEx本身已经打开了该句柄,重复操作显得多余。
  • 另外还有权限问题:当目标对象已存在且为只读属性时,CopyFileEx/MoveFileEx/DeleteFile/RemoveDirectory都会因访问被拒绝而失败。但如果先调用SetFileAttributes移除只读属性再重试,又会存在竞争条件。

内容的提问来源于stack exchange,提问作者mbolp

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.01 19:42:31