提取元資料以重命名恢復的文件

提取元資料以重命名恢復的文件

我最近使用一個名為 photorec 的工具恢復了許多已刪除的檔案 -http://www.cgsecurity.org/wiki/PhotoRec

偉大的救星。唯一的問題是恢復的檔案的名稱被該程式產生的一些隨機字串取代。 (由於使用者刪除文件,文件名稱和目錄結構遺失)。

因此,我運行了另一個名為 photorecsorter 的程序,根據檔案副檔名將恢復的檔案分類到資料夾中(一個資料夾中為 pdf,另一個資料夾中為 ppt,依此類推) http://builtbackwards.com/projects/photorec-sorter/

我恢復了大約 100K+ 個文件,因此我無法要求用戶打開文件並查看內容以找到他們要查找的內容。我知道在 Word 文件文件元資料(標題)可以幫助我檢索資訊的兩個關鍵元素,然後可以使用這些元素重命名該文件 - Word 文件的標題和上次修改日期。一旦我知道如何對 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 等其他格式將需要完全不同的解決方案。如果您需要協助,我建議您搜尋網路或發布新問題。

相關內容