有时出于一些同步了或者其他什么乱七八糟的原因,我们需要修改一个文件的创建日期等内容,网上找了一下算法,记下来以备后用.
void CModifyBINDlg::OnButton1()
{
// TODO: Add your control notification handler code here
//定义一个和文件信息兼容的结构,用于保存获取的信息
typedef struct _FILE_INFO {
TCHAR szFileTitle[128]; //文件的标题名
DWORD dwFileAttributes; //文件的属性
FILETIME ftCreationTime; //文件的创建时间
FILETIME ftLastAccessTime; //文件的最后访问时间
FILETIME ftLastWriteTime; //文件的最后修改时间
DWORD nFileSizeHigh; //文件大小的高位双字
DWORD nFileSizeLow; //文件大小的低位双字
DWORD dwReserved0; //保留,为0
DWORD dwReserved1; //保留,为0
} FILE_INFO, * PFILE_INFO;
//获取文件的信息
WIN32_FIND_DATA ffd ;
HANDLE hFind = FindFirstFile(m_FileName,&ffd);
FindClose(hFind);
//保存文件的信息
FILE_INFO FileInfo;
memset(&FileInfo,0,sizeof(FILE_INFO));
//将文件属性信息保存到FileInfo中备用
strcpy(FileInfo.szFileTitle,ffd.cFileName);
FileInfo.dwFileAttributes = ffd.dwFileAttributes;
FileInfo.ftCreationTime = ffd.ftCreationTime;
FileInfo.ftLastAccessTime = ffd.ftLastAccessTime;
FileInfo.ftLastWriteTime = ffd.ftLastWriteTime;
FileInfo.nFileSizeHigh = ffd.nFileSizeHigh;
FileInfo.nFileSizeLow = ffd.nFileSizeLow;
//修改文件的生成日期信息
SYSTEMTIME time;
FILETIME t_ft;
FileTimeToSystemTime(&(ffd.ftCreationTime), &time);
time.wYear = 2000;
time.wMonth = 1;
time.wDay = 1;
time.wDayOfWeek = 6;
SystemTimeToFileTime(&time, &t_ft);
//把修改的日期写回文件
FileInfo.ftCreationTime = t_ft;
BOOL bResult ;
CFile file(m_FileName,CFile::modeWrite|CFile::typeBinary); //打开文件
bResult = SetFileTime((HANDLE)file.m_hFile, //待写入的文件句柄
&FileInfo.ftCreationTime, //文件的创建时间
&FileInfo.ftLastAccessTime, //文件最近一次的访问时间
&FileInfo.ftLastWriteTime); //文件最近一次的修改时间
if(!bResult)
{
DWORD dwErr = GetLastError();
}
//SetFileAttributes();
file.Close(); //关闭文件
}
分享到:
相关推荐
在计算机系统中,文件的元数据包含了诸如创建日期、修改日期和访问日期等重要信息。这些日期记录了文件从创建到最近一次修改或访问的时间点,对于文件管理和追踪文件历史非常有帮助。本文将深入探讨如何修改这些日期...
"文件创建日期修改器"是一个工具,专为此目的而设计,允许用户修改文件的创建日期和其他相关信息。 在Windows操作系统中,每个文件都有其特定的元数据,包括创建日期、修改日期和访问日期。这些信息存储在文件系统...
"文件创建日期批量修改器"就是一个解决此类问题的实用工具,它允许用户高效地批量更改这些时间戳。 文件的属性包括基本信息如名称、大小、类型,以及三个重要的时间戳:创建日期、访问日期和修改日期。创建日期是指...
可批量修改文件的创建日期/最后修改的日期/最后访问的日期
在VB6.0编程环境中,有时我们需要对文件的属性进行操作,特别是文件的创建时间、访问时间和修改时间。这些时间戳对于记录文件的历史信息和跟踪文件变动至关重要。本篇文章将详细探讨如何使用VB6.0来修改文件的这三种...
这个对象提供了大量的方法和属性,如`GetFile`用于获取指定文件的对象,`DateCreated`、`DateLastModified`和`DateLastAccessed`用于读取或设置文件的创建日期、最后修改日期和最后访问日期。 下面是一个简单的例子...
首先,我们要了解文件的元数据,其中包括了文件的创建日期、修改日期和访问日期。这些时间戳记录了文件生命周期中的关键事件:创建日期是文件初次被创建的时间,修改日期则是文件内容最后被修改的时间,访问日期则...
NewFileTime – 批量修改文件创建/访问/修改日期 NewFileTime – 批量修改文件创建/访问/修改日期 NewFileTime – 批量修改文件创建/访问/修改日期 NewFileTime – 批量修改文件创建/访问/修改日期 NewFileTime ...
VB 修改文件的创建、访问时间VB 修改文件的创建、访问时间
标题提到的“批量修改文件创建时间,修改时间,访问时间”是一种实用的技术,可以帮助我们快速调整文件的时间戳。 首先,我们需要理解文件的这三个时间属性: 1. **创建时间**:这是文件在系统中被创建的日期和...
标题中的“文件日期修改工具”指的是一个专门用来调整文件或文件夹时间属性的软件,它允许用户更改文件的创建日期、修改日期以及访问日期。在日常工作中,有时我们需要调整文件的时间戳,例如为了同步备份、修复错误...
1. **文件日期读取**:在操作系统中,每个文件都有一个创建日期、修改日期和访问日期属性。在编程中,我们可以使用各种语言(如Python、Java或C#)的API来获取这些信息。例如,Python的`os.path.getctime()`函数可以...
一个批量修改文件 修改日期、访问日期、创建日期的工具。 在做安装盘时候可能会使用到。
ShowMessageFmt('创建日期: %s, 修改日期: %s', [FormatDateTime('yyyy-mm-dd hh:nn:ss', CreationDate), FormatDateTime('yyyy-mm-dd hh:nn:ss', ModificationDate)]); end else begin ShowMessage('无法...
文件(夹)属性里,我们能够看到文件(夹)的创建时间、修改时间和访问时间。有时候,由于各种不同的原因,我们不希望别人看到文件(夹)真实的创建时间或修改时间,至于什么时候要酱紫,我不知道,总之本工具为此而...
其中`<new_date_time>`是新的日期和时间,格式为"YYYY-MM-DD HH:MM:SS"。同样,`fsutil`也可以用来设置创建时间和访问时间,但操作更为复杂,需要利用卷影复制服务(VSS)。 另一方面,Linux和macOS系统中,可以...
一份非常好用的小工具.可以批量修改文件夹及文件夹下所有文件的创建日期,修改日期及最后访问日期.
NewFileTime是一款短小精悍绿色便携且完全免费的windows文件时间修改工具,该修改文件日期的软件允许用户一键修改文件日期,轻松修改任何文件和文件夹的创建日期、修改日期、访问日期等时间参数,NewFileTime支持多...
在VB(Visual Basic)编程环境中,我们经常需要处理文件系统操作,其中之一就是获取文件的元数据,特别是文件的创建时间、修改时间和最后访问时间。这些信息对于跟踪文件的历史记录、日志管理和数据恢复等场景非常...
FileTime 是一款能够修改文件创建/访问/修改日期的小软件 功能: 修改文件时间信息的必备利器!可对单个文件进行修改,也可以修改文件夹以满足对文件的批量修改。 另外: FileTime 也可以对文件夹内的文件...