如何使用C更改Windows中文件的上次修改日期?

时间:2008-11-11 03:22:42

标签: windows winapi file

是否有可以更改Windows中文件或目录的上次修改日期的C函数调用?

3 个答案:

答案 0 :(得分:5)

您可以使用SetFileTime函数,对于目录,您必须使用带有FILE_FLAG_BACKUP_SEMANTICS标志的CreateFile函数来获取目录句柄并将其用作SetFileTime的文件句柄参数这样:

hFolder = CreateFile(path, GENERIC_WRITE, FILE_SHARE_READ, NULL, OPEN_EXISTING,
FILE_ATTRIBUTE_DIRECTORY | FILE_FLAG_BACKUP_SEMANTICS, NULL);

答案 1 :(得分:2)

使用SetFileTime:

BOOL WINAPI SetFileTime(
  __in      HANDLE hFile,
  __in_opt  const FILETIME *lpCreationTime,
  __in_opt  const FILETIME *lpLastAccessTime,
  __in_opt  const FILETIME *lpLastWriteTime
);

它在winbase.h中,所以你只需要包含windows.h

编辑:我粘贴了错误的功能。

答案 2 :(得分:1)

是。您可以使用SetFileTime API函数。