1

Недавно я восстановил много удаленных файлов с помощью инструмента под названием photorec - http://www.cgsecurity.org/wiki/PhotoRec.

Отличный спасатель. Единственная проблема заключается в том, что имена восстановленных файлов заменяются некоторой случайной строкой, которую генерирует эта программа. (Имя файла и структура каталогов были потеряны из-за удаления файлов пользователем).

Поэтому я запустил другую программу под названием photorecsorter для сортировки восстановленных файлов по папкам по их расширениям (pdf в одной папке, ppt в другой и т.д.)Http://builtbackwards.com/projects/photorec-sorter/

Я восстановил около 100K+ файлов, поэтому я не могу попросить пользователя открыть файлы и просмотреть содержимое, чтобы найти то, что они ищут. Я знаю, что в текстовом файле метаданных документа документа (заголовки) я могу получить два ключевых элемента информации, которые затем можно использовать для переименования этого файла: название документа Word и дата последнего изменения. Когда я знаю, как это сделать для Word Doc, возможно, я смогу сделать это для других офисных расширений и PDF самостоятельно. Я искал некоторые инструменты в Интернете, но прежде чем что-то попробовать - я хотел посмотреть, что эксперты могут предложить здесь.

Спасибо

1 ответ1

2

Файл 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

Вы можете использовать FileSystemObject, чтобы перебирать все файлы DOC/DOCX в каталоге и переименовывать их на основе возвращаемых строк свойств.

Для файлов Excel или PowerPoint используйте Excel.Приложение или PowerPoint.Приложение при создании объектов документа. Если вы застряли, просто поищите в сети соответствующие руководства по VBScript для автоматизации Office.

Очевидно, что нет общего способа извлечения метаданных для всех форматов файлов, поэтому для других форматов, таких как PDF, потребуется совершенно другое решение. Я рекомендую вам поискать в сети или опубликовать новый вопрос, если вам нужна помощь с этим.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .