如何修改文件的创建时间、上次读取时间、修改时间?
在WINDOWS中,文件的创建时间、上次读取时间、修改时间是有操作系统来管理的,一般来说不允许用户自己修改。但也不是绝对的不能修改,系统函数SetFileTime()提供了修改上述文件三个特性时间的手段。
SetFileTime()有四个参数,第一个为文件的句柄,第二个为FILETIME结构的指针,用来描述文件的创建时间,NULL指无须修改文件的创建时间,第三个为FILETIME结构的指针,用来描述文件的上次读取时间时间,NULL指无须修改文件的上次读取时间,第四个为FILETIME结构的指针,用来描述文件的修改时间,NULL指无须修改文件的修改时间。
下面一段代码是个用C++写的小程序,指出了如何用命令行修改文件的修改时间。
#include 'stdafx.h'
#include 'windows.h'
#include 'iostream.h'
#include 'stdlib.h'
int main(int argc, char* argv[])
{
if (argc == 8)
{
FILETIME ft,ft1;
SYSTEMTIME systime;
int gxm1,gxm2,gxm3,gxm4,gxm5,gxm;
gxm=atoi(argv[7]);
gxm1=atoi(argv[2]);
gxm2=atoi(argv[3]);
gxm3=atoi(argv[4]);
gxm4=atoi(argv[5]);
gxm5=atoi(argv[6]);
systime.wYear = gxm1;
systime.wMonth = gxm2;
systime.wDay = gxm3;
systime.wHour = gxm4;
systime.wMinute = gxm5;
systime.wSecond = gxm;
systime.wMilliseconds=0;
Syste
在WINDOWS中,文件的创建时间、上次读取时间、修改时间是有操作系统来管理的,一般来说不允许用户自己修改。但也不是绝对的不能修改,系统函数SetFileTime()提供了修改上述文件三个特性时间的手段。
SetFileTime()有四个参数,第一个为文件的句柄,第二个为FILETIME结构的指针,用来描述文件的创建时间,NULL指无须修改文件的创建时间,第三个为FILETIME结构的指针,用来描述文件的上次读取时间时间,NULL指无须修改文件的上次读取时间,第四个为FILETIME结构的指针,用来描述文件的修改时间,NULL指无须修改文件的修改时间。
下面一段代码是个用C++写的小程序,指出了如何用命令行修改文件的修改时间。
#include 'stdafx.h'
#include 'windows.h'
#include 'iostream.h'
#include 'stdlib.h'
int main(int argc, char* argv[])
{
if (argc == 8)
{
FILETIME ft,ft1;
SYSTEMTIME systime;
int gxm1,gxm2,gxm3,gxm4,gxm5,gxm;
gxm=atoi(argv[7]);
gxm1=atoi(argv[2]);
gxm2=atoi(argv[3]);
gxm3=atoi(argv[4]);
gxm4=atoi(argv[5]);
gxm5=atoi(argv[6]);
systime.wYear = gxm1;
systime.wMonth = gxm2;
systime.wDay = gxm3;
systime.wHour = gxm4;
systime.wMinute = gxm5;
systime.wSecond = gxm;
systime.wMilliseconds=0;
Syste
