Как добавить пользовательское свойство в файл в .Net? - PullRequest
2 голосов
/ 29 ноября 2010

В папке есть несколько файлов .txt, doc и других расширений, теперь я хочу добавить пользовательские свойства ко всем файлам, как это сделать?уже есть какой-то атрибут, такой как «Местоположение», «Размер», «Размер на диске», созданный, измененный, поэтому я хочу добавить другое свойство, например «version».

1 Ответ

1 голос
/ 29 ноября 2010

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

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

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

Альтернативные потоки данных NTFS - .NET

Плюсы:

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

Минусы:

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