Viele der Antworten hier haben mir geholfen, in die richtige Richtung zu gehen, aber keine war für mich geeignet, also poste ich meine Lösung.
Ich habe Windows 7, das mit integrierter PowerShell geliefert wird. Hier ist das Skript, das ich verwendet habe, um alle Instanzen von Text in einer Datei zu suchen/ersetzen:
powershell -Command "(gc myFile.txt) -replace 'foo', 'bar' | Out-File -encoding ASCII myFile.txt"
Um es zu erklären:
powershell
startet die Datei powershell.exe, die in Windows 7 enthalten ist
-Command "... "
ist ein Befehlszeilenarg für powershell.exe, das den auszuführenden Befehl enthält
(gc myFile.txt)
liest den Inhalt von myFile.txt
( gc
ist die Abkürzung für die Get-Content
Befehl)
-replace 'foo', 'bar'
führt einfach den Befehl replace aus und ersetzt foo
avec bar
| Out-File myFile.txt
leitet die Ausgabe in die Datei myFile.txt
-encoding ASCII
verhindert die Transkription der Ausgabedatei in Unicode, wie in den Kommentaren hervorgehoben wird
Powershell.exe sollte bereits Teil Ihrer PATH-Anweisung sein, aber wenn nicht, können Sie es hinzufügen. Der Speicherort auf meinem Rechner ist C:\WINDOWS\system32\WindowsPowerShell\v1.0
更新情報
Offensichtlich ist in modernen Windows-Systemen PowerShell integriert, so dass Sie direkt darauf zugreifen können, indem Sie
(Get-Content myFile.txt) -replace 'foo', 'bar' | Out-File -encoding ASCII myFile.txt