Replaces substrings in a file
#include <File.au3>
_ReplaceStringInFile ( $sFilePath, $sSearchString, $sReplaceString [, $iCaseSensitive = 0 [, $iOccurance = 1]] )
$sFilePath | Full path of file to replace substrings. |
$sSearchString | The string to evaluate. |
$sReplaceString | The replacement string. |
$iCaseSensitive | [optional] Flag to indicate if the operations should be case sensitive. $STR_NOCASESENSE (0) = not case sensitive, using the user's locale (default) $STR_CASESENSE (1) = case sensitive $STR_NOCASESENSEBASIC (2) = not case sensitive, using a basic/faster comparison Constants are defined in StringConstants.au3 |
$iOccurance | [optional] 0 - Only the first occurrence is replaced or 1 - all occurrences are replaced (default) |
Success: | the number of occurrences found. |
Failure: | -1 and sets the @error flag to non-zero. |
@error: | 1 - File is read-only 2 - Unable to open the file 3 - Unable to write to the file |
#include <File.au3>
#include <MsgBoxConstants.au3>
Local $sFind = "BEFORE"
Local $sReplace = "AFTER"
Local $sFileName = "C:\_ReplaceStringInFile.test"
Local $iMsg = "Hello Test " & $sFind & " Hello Test" & @CRLF
$iMsg &= "Hello Test" & @CRLF
$iMsg &= @CRLF
$iMsg &= $sFind
FileWrite($sFileName, $iMsg)
MsgBox($MB_SYSTEMMODAL, "BEFORE", $iMsg)
Local $iRetval = _ReplaceStringInFile($sFileName, $sFind, $sReplace)
If $iRetval = -1 Then
MsgBox($MB_SYSTEMMODAL, "ERROR", "The pattern could not be replaced in file: " & $sFileName & " Error: " & @error)
Exit
Else
MsgBox($MB_SYSTEMMODAL, "INFO", "Found " & $iRetval & " occurances of the pattern: " & $sFind & " in the file: " & $sFileName)
EndIf
$iMsg = FileRead($sFileName, 1000)
MsgBox($MB_SYSTEMMODAL, "AFTER", $iMsg)
FileDelete($sFileName)