2016-01-06 2 views
0

Je travaille sur une application qui ajoute des données sur un fichier (essentiellement les métadonnées d'entrée des utilisateurs sur les fichiers). La méthode que je considérais était quelque chose comme"Attachement" de fichiers dans un système de fichiers dans Windows (C# app - Winforms)

Mainfile.abc

Mainfile.abc.meta

où « Mainfile.abc.meta » serait un fichier caché utilisé par mon application si nécessaire. Le problème est que les utilisateurs vont déplacer "Mainfile.abc" et je veux que le fichier ".meta" suive, mais seulement s'il reste sur le serveur principal. (en d'autres termes, si l'utilisateur copie "Mainfile.abc" sur un autre lecteur, le fichier ".meta" ne l'accompagne pas.)

Pour des raisons médico-légales, je ne peux pas ajouter/modifier des informations dans le fichier principal. J'essaye d'éviter d'avoir à recréer toutes les fonctions du système de fichiers d'ajouter/copier/déplacer/renommer/etc à mon application quand tout cela est intégré dans Windows de toute façon Par exemple, lors de l'enregistrement d'une page Web en tant que «page Web terminée», Windows crée un répertoire distinct de tous les fichiers associés à cette page Web, en copiant simplement la page Web automatiquement avec le dossier des fichiers de la page Web. faire quelque chose similaire.

Merci pour vos commentaires.

+1

NTFS dispose de flux de données alternatifs, qui fonctionnent presque exactement comme vous le décrivez. Vous pouvez également utiliser les propriétés personnalisées pour faire de même. Voir http://stackoverflow.com/questions/4179784/can-one-add-custom-properties-to-ntfs-folders – Mitch

+0

Pouvez-vous éditer un ADS sur un emplacement réseau mappé? – rune711

+0

Oui, vous pouvez accéder à d'autres flux de données via SMB. – Mitch

Répondre

1

NTFS dispose de flux de données alternatifs, qui fonctionnent presque exactement comme vous le décrivez. Vous pouvez également utiliser les propriétés personnalisées pour faire de même. Voir Can one add custom properties to NTFS folders?

+0

Je suppose que @ rune711 oublié de vous :-( – Clay