2011-06-07 37 views
2

上次我问一个问题,关于一个特定的时间如何获得改名

How can I get the files modified in a directory in a particular period of time using c++?

之后修改的文件列表的检索和我尝试下面的代码文件的时间

CFileFind finder; 
szFile = _T("C:\\MyFolder\\*.*"); 
BOOL bFound = finder.FindFile(szFile); 
CTime fileTime; 
CTime fileCreateTime; 
while (bFound) 
{ 
bFound = finder.FindNextFile(); 
    finder.GetLastWriteTime(fileTime); 
    finder.GetCreationTime(fileCreateTime); 
    szFile = finder.GetFilePath(); 
    if((startTime < fileTime) || (startTime < fileCreateTime)) 
     { 
      ............ 

修改后的文件的细节可以用上面的代码检索.. 但我不能得到重命名文件的详细信息。

如果我重命名该文件夹中的文件,其创建和修改时间与旧文件相同。 只有访问时间正在改变。

但即使打开文件并且未修改文件,访问时间也会更改。

因此通过检索accesstime我没有得到培训相关细节..

任何一个请帮帮忙,我怎么能确定重命名的文件太多....

回答

1

File times MSDN文章:

系统记录应用程序创建,访问和写入文件的文件时间。

不记录重命名时间。你无法获得这些信息。您可能会通过查看目录时间信息来了解某个文件是否已重命名,但不会告诉您哪一个已重命名。

如果你更详细地解释了你的目标,也许有人可以找到另一种解决方案,但是现在,你所要求的听起来听起来不太可能。

+0

嗨...感谢回复... 我的意图是获取修改,重命名或创建文件夹在特定时间后的文件列表... – JijeshKV 2011-06-07 13:20:23

+0

是否有任何方法来查找所做的动作一份文件? 我的意思是最后一个动作是编写,重命名,移动等... 如果是这样我想我可以通过检查具有新访问时间的文件的最后一个动作 – JijeshKV 2011-06-07 14:23:10