Использование PowerShell для замены отдельных байтов в документе

853
dwwilson66

Мы находимся в процессе преобразования справочной системы HTML в библиотеку документов SharePoint. У нас есть около 3000 отдельных HTML-документов, которые мы конвертируем в Word. Около 20% документов содержат гиперссылки на связанные документы, и все они являются относительными ссылками.

Мы пытаемся автоматизировать процесс синтаксического анализа каждого документа, и в любом случае, когда у нас есть гиперссылка, заменив последние три байта строки - "htm" - на "doc".

Я видел несколько примеров PowerShell, где люди анализируют документы (обычно журналы сервера), ища определенные фрагменты информации, но не смогли найти ничего о замене определенных символов в файле перед его закрытием / сохранением.

У кого-нибудь есть советы по достижению этого с PowerShell? или идеи о более подходящих инструментах?

1

1 ответ на вопрос

2
thane

Simply open the file, replace "htm" to "doc" then save and close this file:

Get-ChildItem -Path . -Recurse | Where-Object {-not $_.PSIsContainer} | Foreach-Object { (Get-Content $_) -replace "htm", "doc" | Set-Content $_ }