2009-12-07 53 views
0

我正在使用C#處理文件n文件夾....可能我知道是否有任何方法來獲取文件文件夾的UID ....直到現在我正在使用文件的完整路徑....但我的問題是中重命名文件n文件夾的...這將改變UID文件夾.. PLZ是療法沒有辦法做同樣的 由於事先Windows c#中的文件和文件夾有什麼獨特之處嗎?

+0

你當然知道你將它重命名爲什麼,所以你可以這樣回收它? –

+0

感謝您的回覆....我想重新命名後不會改變的東西...有沒有這樣的獨特屬性? –

回答

2

首先,如果您更清楚地定義「處理文件」的含義,我認爲您可以得到更清晰的迴應。

不,沒有什麼像文件或目錄的「UID」。但是,如果您希望動態監視文件和目錄的狀態,並且在移動/更改/刪除時提醒您通知您,則可以使用.NET的FileSystemWatcher類。

使用這種技術,您可以從字典的關鍵字可能是一些UID或GUID或其他任何形式字典< UID,字符串>,其中字符串可能是原始文件名開始。然後,您可以,因爲你從FileSystemWatcher的接收事件,更新第二詞典< UID,串>其中其字符串可能是已更改的文件路徑:

我真的不建議你專門使用字典在這裏,但只是使用它們作爲可能您可以創建數據結構的示例,以通過原始名稱/位置和(可能)更改的名稱/位置跟蹤某些文件,或者如果它們被刪除,複製等等。

+0

FileSystemWatcher不支持在.netCF3.5 .. – Naruto

+1

@Grabit好抓!在發佈之前,我確實在FileSystemWatcher上查看了MSDN文檔,並在其底部附近看到「免責聲明」(非常含糊,imho):「.NET Framework和.NET Compact Framework不支持所有平臺的所有版本「。 ...但是當我查看此頁面時:http://msdn.microsoft.com/en-us/library/ms172550.aspx,並注意到各種Win Mobile版本(它是OP使用的標籤)支持到FrameWork 3.5,我認爲它會好起來的。我應該通過提及我對Win Mobile或CF沒有經驗來否認我的意見。 – BillW

1

對不起,有什麼可以可靠地追蹤多數民衆贊成保留文件/文件夾移動或重命名後。你唯一真正的選擇是跟蹤重命名,或者直接告訴用戶該文件不存在了。

2

嘿..有一個樣本由微軟提供..它安裝在

"Windows Mobile 6 SDK\Samples\PocketPC\CPP\win32\FileChangeNotif" 

位置的硬盤驅動..

通過filechangenotif smaple您將獲得有關文件更改通知的信息,如 重命名文件,刪除,添加...希望這可以幫助你

相關問題