有沒有辦法在文件的生命周期中唯一地標(biāo)識(shí)文件(可能還有目錄),而不管移動(dòng),重命名和內(nèi)容修改如何?(Windows 2000及更高版本)。制作文件副本應(yīng)該為副本賦予其自己的唯一標(biāo)識(shí)符。我的應(yīng)用程序?qū)⒏鞣N元數(shù)據(jù)與單個(gè)文件相關(guān)聯(lián)。如果文件被修改,重命名或移動(dòng),則能夠自動(dòng)檢測(cè)和更新文件關(guān)聯(lián)將很有用。FileSystemWatcher可以提供通知此類變化的事件,但是,如果許多文件系統(tǒng)事件迅速發(fā)生,它會(huì)使用可以輕松填充(并且丟失事件)的內(nèi)存緩沖區(qū)。哈希沒有用,因?yàn)槲募膬?nèi)容可以更改,因此哈希也將更改。我曾考慮過使用文件創(chuàng)建日期,但是在某些情況下,它不是唯一的(即,當(dāng)復(fù)制多個(gè)文件時(shí))。我還聽說(shuō)過NTFS中的文件SID(安全I(xiàn)D?),但是我不確定這是否可以滿足我的需求。有任何想法嗎?
3 回答

LEATH
TA貢獻(xiàn)1936條經(jīng)驗(yàn) 獲得超7個(gè)贊
如果調(diào)用GetFileInformationByHandle,則會(huì)在BY_HANDLE_FILE_INFORMATION.nFileIndexHigh / Low中獲得文件ID。該索引在卷中是唯一的,即使您移動(dòng)文件(在卷中)或重命名文件,索引也保持不變。
如果可以假定使用了NTFS,則可能還需要考慮使用備用數(shù)據(jù)流來(lái)存儲(chǔ)元數(shù)據(jù)。
- 3 回答
- 0 關(guān)注
- 1091 瀏覽
添加回答
舉報(bào)
0/150
提交
取消