【发布时间】:2014-08-06 10:06:44
【问题描述】:
我想制作一个文件的相同副本,并且我知道如何将文件的内容复制到新文件中,但我不知道如何复制属性和日期。
我尝试了以下代码,但它在 Delphi 2009 中不起作用:
SrcHandle:=CreateFile(PWideChar('\\?\'+SrcName), GENERIC_READ, FILE_SHARE_READ, nil, OPEN_EXISTING, FILE_FLAG_SEQUENTIAL_SCAN, 0);
DestHandle:=CreateFile(PWideChar('\\?\'+DestName), GENERIC_WRITE, 0, nil, CREATE_ALWAYS, FILE_FLAG_SEQUENTIAL_SCAN, SrcHandle);
注意目标CreateFile的最后一个参数是源文件的句柄。 Delphi 说如果我这样做,它会将“属性和扩展属性”复制到新文件中。但它没有......
【问题讨论】:
-
TFile.Copy 有什么问题?
-
@DavidHeffernan 我认为 marus nebunu 想要“克隆”(如 创建一个包含时间戳和属性的相同副本) 一步中的文件。我不知道他为什么想要它,但文档承诺会为他做这件事,但事实并非如此。
TFile.Copy()是否复制属性和时间戳? (我真的不知道,但我认为它不知道。) -
复制属性。文件戳需要单独完成。为什么要使用 CreateFile。
-
我怀疑该 API 甚至没有在该调用中引用“SrcHandle”,因为您可以毫无问题地传递无效句柄。
标签: file delphi winapi copy delphi-2009