2010-11-29 2 views
2

Есть некоторые .txt, doc и другие типы файлов расширения в папке, теперь я хочу добавить пользовательские свойства для всех файлов, как это сделать? есть уже некоторые атрибуты, такие как Location, Size, Size на Disk, созданный on, изменить, поэтому я хочу добавить еще одно свойство типа «версия».Как добавить настраиваемое свойство в файл в .Net?

ответ

1

Вы можете использовать ADS (alternate data streams), который является функцией NTFS. ADS позволяет подключать контент к файлам в файловых системах NTFS. С точки зрения пользователя есть один файл, но к этому файлу могут подключаться дополнительные потоки, которые, например, не будут видны в Проводнике. Когда файл копируется напрямую между файловыми системами NTFS, потоки также копируются.

Альтернативные потоки данных используются ОС для тегирования файлов с информацией, например о том, в какой зоне был получен файл (например, в Интернете), и в этом случае приводят предупреждения о предупреждениях о безопасности.

Пример использования потоков из C# можно найти здесь:

NTFS Alternate Data Streams - .NET

Pros:

  • Нет незакрепленные файлы, содержащие лишние мета-данные.
  • Когда файлы копируются в файловые системы NTFS, потоки автоматически копируются.

Минусы:

  • работает только на NTFS, например, не FAT32.
  • Если файл скопирован в другой формат файловой системы, потоки теряются.
  • Если файл упакован через какой-либо другой файл fornat (например, в виде вложения электронной почты), потоки могут быть потеряны.
Смежные вопросы