Verwenden von PowerShell zum Ersetzen einzelner Bytes in einem Dokument

853
dwwilson66

Wir konvertieren gerade ein HTML-Hilfesystem in eine SharePoint-Dokumentbibliothek. Wir haben etwa 3000 individuelle HTML-Dokumente, die wir in Word konvertieren. Etwa 20% der Dokumente enthalten Hyperlinks zu verwandten Dokumenten und sind alle relativen Links.

Wir versuchen, den Prozess der Analyse jedes Dokuments zu automatisieren, und in allen Fällen, in denen ein Hyperlink vorhanden ist, werden die letzten drei Bytes des Strings - "htm" - durch "doc" ersetzt.

Ich habe einige PowerShell-Beispiele gesehen, in denen Leute Dokumente (normalerweise Serverprotokolle) analysieren, die nach bestimmten Informationen suchen, aber vor dem Schließen / Speichern nichts gefunden haben, um bestimmte Zeichen in einer Datei zu ersetzen.

Hat jemand Tipps, um dies mit PowerShell zu erreichen? oder Ideen für geeignetere Werkzeuge?

1

1 Antwort auf die Frage

2
thane

Öffnen Sie einfach die Datei, ersetzen Sie "htm" in "doc", speichern Sie und schließen Sie diese Datei:

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