復元したファイルの名前を変更するためのメタデータ抽出

復元したファイルの名前を変更するためのメタデータ抽出

最近、photorecというツールを使って削除されたファイルを多数回復しました。http://www.cgsecurity.org/wiki/PhotoRec

非常に助かりました。唯一の問題は、復元されたファイルの名前がこのプログラムによって生成されるランダムな文字列に置き換えられることです。(ファイル名とディレクトリ構造は、ユーザーがファイルを削除したために失われました。)

そこで、photorecsorterという別のプログラムを実行して、復元したファイルをファイル拡張子ごとにフォルダに分類しました(pdfは1つのフォルダ、pptは別のフォルダなど)。 http://builtbackwards.com/projects/photorec-sorter/

約 10 万件以上のファイルを復元したので、ユーザーにファイルを開いて内容を確認して、探しているものを探すように依頼することはできません。Word 文書のファイル メタデータ (ヘッダー) を使用すると、Word 文書のタイトルと最終更新日という 2 つの主要な情報要素を取得して、そのファイルの名前を変更できることはわかっています。Word 文書でこれを行う方法がわかれば、他の Office 拡張機能や PDF でも自分で実行できるかもしれません。オンラインでいくつかのツールを探しましたが、何かを試す前に、専門家がここで提案する内容を確認したいと思いました。

ありがとう

答え1

次のような VBS (VBScript) ファイルは、少なくとも Word 文書には役立ちます。

Option Explicit

Dim objWord, objDoc

Set objWord = CreateObject("Word.Application")
objWord.Visible = False
objWord.DisplayAlerts = False
objWord.Documents.Open "C:\MyDoc.docx", False, True ' path, confirmconversions, readonly
Set objDoc = objWord.ActiveDocument

MsgBox "Title: """ & objDoc.BuiltInDocumentProperties("Title") & """"
MsgBox "Subject: """ & objDoc.BuiltInDocumentProperties("Subject") & """"
MsgBox "Author: """ & objDoc.BuiltInDocumentProperties("Author") & """"
MsgBox "Creation Date: """ & objDoc.BuiltInDocumentProperties("Creation Date") & """"
MsgBox "Last Save Time: """ & objDoc.BuiltInDocumentProperties("Last Save Time") & """"

objWord.Quit 0 ' wdDoNotSaveChanges
Set objWord = Nothing
Set objDoc = Nothing

使用できますファイルシステムオブジェクトディレクトリ内のすべてのDOC/DOCXファイルを反復処理し、名前を変更する返されるプロパティ文字列に基づいてそれらを決定します。

ExcelまたはPowerPointファイルの場合は、Excel.アプリケーションまたはPowerPoint.アプリケーションドキュメント オブジェクトを作成するときに使用します。行き詰まった場合は、関連する Office オートメーション VBScript チュートリアルをネットで検索してください。

当然のことながら、すべてのファイル形式のメタデータを取得するための一般的な方法はないので、PDF などの他の形式ではまったく異なるソリューションが必要になります。ヘルプが必要な場合は、ネットで検索するか、新しい質問を投稿することをお勧めします。

関連情報