У меня есть серия вложенных папок в операционной системе Windows 7, где хранятся файлы. Это файлы Word и Excel. Я хотел бы, чтобы извлечь Авторы, Владелец, Дата Модифицированные и Дата создания поле метаданных из каждого файла и вывод в текстовый файл.Извлечь метаданные из файлов Word и Excel?
Моя первая попытка сделать это с использованием PowerShell. The code presented by the OP here отлично работает, но не переписывает папки. Я экспериментировал с различными способами объединения «Get-ChildItem» с функцией funMetadata, но не смог этого сделать. Поскольку он не работал для OP, и не было никаких решений, предлагаемых SO-сообществом, было бы неразумно пытаться продолжить исправление этого кода. Вместо этого я сосредоточился на изменении решения OP (ниже), заменив мои собственные поля метаданных, но в текстовом файле вывода просто говорится «Авторы», за которым следует пустая страница. Вот что я пробовал:
(перейти к корневой папке): Get-ChildItem -Recurse | Select-Object Authors | Out-file "C:\text5.txt"
(Кстати, метаданные, безусловно, существует в файлах - Я знаю это, используя оригинал Ор, а не-годные к-Recurse скрипт).
Пробуя другую липкость, я загрузил два модуля python - hachoir и oletools - но как только я их установил, я не знал, с чего начать. Кажется, что нет документации.
У кого-нибудь есть совет для меня?
EDIT: Я только что нашел новую информацию here, и это, вероятно, дублирующий вопрос. Мне не нравится удалять его сейчас, хотя, если кто-то работает над ответом. Извините за любые недоразумения
Большое спасибо @BenH - это отлично работает! Я положил | Out-file C: \ metadata6.txt -Append после вашего "-1" ", чтобы получить текстовый файл. Однако одно нечетное: для половины извлеченных файлов метаданных «title» нет. Вы знаете, почему это может быть так? Большинство этих неименованных записей находились в подпапках. – oymonk
Не знаю почему. Метод GetDetailsOf должен вытащить все непустые поля. Кроме того, если ответ сработал для вас, тогда лучше всего принять его. – BenH
Большое спасибо за отличное решение. – oymonk