2010-11-29 120 views
2

文件夾中有一些.txt,doc和其他擴展類型的文件現在我想在所有文件上添加自定義屬性如何做到這一點?已經有一些屬性,如位置,大小,磁盤上的大小,創建,修改,所以我想添加像「版本」的另一個屬性。如何在.Net中的文件中添加自定義屬性?

回答

1

你可以考慮使用ADS(alternate data streams)這是一個NTFS功能。 ADS允許您將內容附加到NTFS文件系統上的文件。從用戶的角度來看,只有一個文件,但是該文件可能會附加其他流,這些流將不會從資源管理器中看到。當文件直接在NTFS文件系統之間複製時,流也會被複制。

操作系統使用備用數據流來標記具有諸如文件從哪個區域(例如因特網)到達的區域的文件並且這在這種情況下驅動安全警告對話框。

使用流從C#的例子可以在這裏找到:

NTFS Alternate Data Streams - .NET

優點:

  • 包含您額外的元數據沒有鬆動的文件。
  • 在NTFS文件系統上覆制文件時,會自動複製流。

缺點:

  • 僅適用於NTFS例如不是FAT32。
  • 如果一個文件被複制到另一個文件系統格式,則流會丟失。
  • 如果文件通過其他一些fornat打包(例如作爲電子郵件附件),則流可能會丟失。
相關問題