2009-08-05 5 views
4

メタデータをファイルに追加する方法を探しています。 dsofile.dllはNTFSで正常に動作します。メタデータは、FAT32共有にコピーをドロップすると失われます(NTFSの隠しストリームを使用します)。 Microsoft Word文書には失われていないメタデータが含まれていますが、どうやってそれをしますか? FATと同じように、dsofileで作成されたすべてのメタデータ(およびWindowsエクスプローラで手動で作成されたメタデータ)の電子メールストリップを介してファイルを送信します。別々のメタデータファイルはオプションではありません。標準のWindows技術と互換性がなければなりません。 Outlookでファイルを誰かに送信して返信すると、メタデータが失われることはありません。dsofile c#API/NTFSカスタムファイルのプロパティ

(必要なメタデータが実際にのみIDです)

+0

Wordはすべてのメタデータをファイルの一部として保存しませんか? –

+1

はい。 MS-Wordはメタデータを.docファイル形式で保存します。 NTFSの隠しデータストリームは、メタデータを認識するためにファイル形式自体を必要としない、明確なメタデータ記憶メカニズムです。欠点は、単純なアプリケーションは、ファイルをコピーするときにNTFSの隠しストリームからメタデータをコピーしないことです。 – Cheeso

答えて

1

解決方法はすべて形式に依存します。 MS OFFICEファイルは(すべての)複合ファイルであり、そこにプロパティの場所があります。いくつかのフォーマット(PEファイルなど)では、あとで読む方法が分かっていれば、ファイルの末尾にデータを追加するだけで安全です。 ZIPファイルでは、ディレクトリ内の場所を見つけたり、データとともにヘルパーファイルをアーカイブに追加するだけです。他の形式ではこれに耐えられず、問題を解決する独自の方法を見つける必要があります。

実際には、ファイル名をIDの良いプレースホルダにすることもできます。あなたがどこかにファイルを保存する必要がなく、外部のアプリケーションで読めるままにファイルを必要としない場合

、あなたはZIPアーカイブにそれらをパックまたは当社SolFS ライブラリのようなものを使用することができます。

+0

右のzip形式では、現在、「隠しデータストリーム」からのNTFSメタデータをzipエントリに格納するための形式化されたメカニズムはありません。通常、このNTFSメタデータはzipには一切格納されません。 – Cheeso

0

何の標準プロパティではなく、カスタムのDsofileプロパティについてはどうですか?コメント、著者など?彼らは拭き取られますか?

理想的ですが、私たちがDSOfileのプロパティを取得し、テキストファイルを保存してファイルと一緒に電子メールで送信するツールがあり、ユーザーは、テキストからdsofileプロパティを再インポートするツールを実行します。

2

問題は、すべてのファイルシステムがファイルのシングルストリームビューを最大公約数として提供することです。ファイル "コンテンツ"を公開するこのインターフェースを通して、プロパティを読み込んだり保存したり、単純なシステム(またはユーザ)ユーティリティによって "コンテンツ"と共にそれらを移送させることができます。たとえば、WindowsのCopyFileでは、代替データストリームが慎重に失われ、「シャドウファイル」という概念はありません。

"内容"の形式がプロパティの任意の追加を可能にするかどうかは疑問です。

一部の形式では、任意のコンテンツ(たとえば、MSFTのdocfile/docx/.xlsなど)を許可しています。限られたコンテンツ(.mp3、.jpg、.exe)を許可するものもあります。

一部は完全にSOL(.txt、.bmp)です。

関連する問題