Funktionreferenz


_ReplaceStringInFile

Beschreibung anzeigen in

Ersetzt einen Teilstring in einer Datei

#include <File.au3>
_ReplaceStringInFile ( $sFilePath, $sSearchString, $sReplaceString [, $iCaseSensitive = 0 [, $iOccurance = 1]] )

Parameter

$sFilePath Vollständiger Pfad der Datei in der die Teilstrings ersetzt werden sollen.
$sSearchString Der zu ersetzende String.
$sReplaceString Der ersetzende String
$iCaseSensitive [optional] Flag um anzuzeigen, ob die Operation Groß- und Kleinschreibung berücksichtigen soll.
    $STR_NOCASESENSE (0) = Groß- und Kleinschreibung wird nicht berücksichtigt, dabei wird die Standardsprache des Nutzers genutzt (Standard).
    $STR_CASESENSE (1) = Groß- und Kleinschreibung wird berücksichtigt.
    $STR_NOCASESENSEBASIC (2) = Groß- und Kleinschreibung wird nicht berücksichtigt, dabei wird ein einfacherer/schnellerer Vergleich genutzt.

Die Konstanten sind in StringConstants.au3 definiert.
$iOccurance [optional] 0 = Nur die erste gefundene Stelle wird ersetzt oder 1 = Alle Vorkommnisse werden ersetzt (Standard)

Rückgabewert

Erfolg: die Anzahl Vorkommnisse
Fehler: -1 und setzt @error zu ungleich 0
@error: 1 - Datei ist nur zum lesen
2 - Es ist nicht möglich die Datei zu öffnen
3 - Es ist nicht möglich in die Datei zu schreiben

Beispiel

#include <File.au3>
#include <MsgBoxConstants.au3>

Local $sFind = "VORHER"
Local $sReplace = "NACHHER"

Local $sFileName = "C:\_ReplaceStringInFile.test"

Local $iMsg = "Hallo Test " & $sFind & " Hallo Test" & @CRLF
$iMsg &= "Hallo Test" & @CRLF
$iMsg &= @CRLF
$iMsg &= $sFind

FileWrite($sFileName, $iMsg)

MsgBox($MB_SYSTEMMODAL, "VORHER", $iMsg)

Local $iRetval = _ReplaceStringInFile($sFileName, $sFind, $sReplace)
If $iRetval = -1 Then
    MsgBox($MB_SYSTEMMODAL, "FEHLER", "Das Suchmuster konnte nicht Ersetzt werden!" & @CRLF & " & Datei: " & $sFileName & " Fehlercode: " & @error)
    Exit
Else
    MsgBox($MB_SYSTEMMODAL, "INFO", $iRetval & " Übereinstimmungen mit dem Suchmuster: " & $sFind & " in der Datei: " & $sFileName & " gefunden.")
EndIf

$iMsg = FileRead($sFileName, 1000)
MsgBox($MB_SYSTEMMODAL, "NACHHER", $iMsg)
FileDelete($sFileName)