ファイルの概要の編集


まつ  2007-01-25 07:38:24  No: 134990

NTFSドライブのファイルをエクスプローラの右クリックでプロパティを
選択すると「概要」タブがあり、タイトル・表題・作成者・カテゴリ・
キーワード・コメントの各項目が表示され自由に記入保存できます。

これをVB.NET(VB2005)により読取り・編集するにはどうすればよいので
しょうか?


Hongliang  URL  2007-01-25 08:00:04  No: 134991

Microsoft が配布している Dsofile.dll を参照に追加すれば簡単に扱えます。


まつ  2007-01-25 08:54:37  No: 134992

ありがとうございます。早速調べてみました。

まだ実際の動作は確認していないのですが、以下のような制限があるようです。

http://www.microsoft.com/japan/technet/community/columns/scripts/sg0305.mspx#E2B
----------引用
Dsofile の欠点は、Microsoft Office 文書の概要情報フィールドにしか
書き込めないということです。いわゆるテキスト ファイル (.txtファイ
ル) にタイトルを付けようとすると失敗します。人生の悲しい現実の 1 
つです。
-----------ここまで

実際にそうなのでしょうか?
目的としてはすべてのファイルに対して書き込みたいので、この制限があるのならばほかの方法を探す必要があるのですが・・・


スクリプトプログラマ  2007-01-25 11:04:43  No: 134993

場所は、例えば、
MORE <ファイル名:^ESummaryInformation
^EはCTRL+E
にあります。
構造は同じです。


もげ  2007-01-25 18:43:15  No: 134994

副ストリームですか。NTFS限定になりますね。
VB上では、CTRL+EはChr(5)でよいでしょう。
http://www.microsoft.com/japan/msdn/windows/windows2000/ntfs5.aspx
http://yaplog.jp/orator/archive/57


K.J.K.  2007-01-25 19:26:35  No: 134995

IShellFolder*のParseDisplayNameで、ファイル名からItemIDList*を取得し、
IShellFolder*のBindToStorageで、IPropertySetStorage*を取得し、
IPropertySetStorage*のEnumで、IEnumSTATPROPSETSTG*を取得し、
IPropertySetStorage*のOpen/Createで、IPropertyStorage*を取得し、
IPropertyStorage*のWriteMultipleで、書き込む。
という手順で行ってみるとか。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加