Извлечение метаданных для переименования восстановленных файлов

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

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

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

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

спасибо

26
задан New-Bie
02.02.2023 15:14 Количество просмотров материала 2360
Распечатать страницу

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

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

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

2
отвечен Karan 2023-02-03 23:02

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх