我有一個實用程序,它處理目錄中的一組文件 - 這個過程相對較慢(並且有很多文件)和所以我試圖通過僅處理具有晚於最後處理日期的「最後修改」的文件來優化處理。Windows:如何確定一個文件自給定日期以來是否已被修改
通常這個效果很好,但是我發現複製文件不會改變最後修改日期,所以有各種複製文件的過程中會跳過某些被更改的文件的情況,例如:
- 用戶在9:00處理目錄。
- 的文件,然後從該目錄複製和修改,使之具有9:30
- 最後修改日期的目錄,然後在10:00
- 修改後的文件再次進行處理,然後複製回在10:30
- 目錄最後的目錄是在11:00
由於給定文件的修改日期是9點30分再次處理,並且目錄在10:00最後處理的是該文件當它不應該跳過時跳過。
不幸的是,在某些情況下(比如在與源代碼控制等的協作環境中),上述情況經常發生得太頻繁。顯然,我的邏輯是有缺陷的 - 我真正需要的是「最後修改或複製」日期。這樣的事情存在嗎?
如果沒有,那麼有沒有另一種方法來快速判斷一個給定的文件是否有變化,並且具有合理的可靠性?
是的,但是這是我的備用解決方案 - 我希望有一種方法可以確定給定的文件是否已更改(具有合理的可靠性),而無需讀取文件本身。 – Justin 2010-09-30 06:33:40