2011-06-07 36 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