函数参考


_ReplaceStringInFile

替换文本文件的字符串(二进制文件将无法正常工作!)

#Include <File.au3>
_ReplaceStringInFile($szFileName, $szSearchString, $szReplaceString [, $fCaseness = 0 [, $fOccurance = 1]])

参数

$szFileName 打开文件的文件名. 注意!! 需要完整路径, 不仅仅是由 FileFindNextFile 函数返回的文件名
$szSearchString 文件中要替换的字符串
$szReplaceString 用来替换 $szSearchString 字符串的新字符串
$fCaseness [可选参数] 0 = 不区分大小写(默认),1 = 区分大小写
$fOccurance [可选参数] 0 = 只有替换首次被发现的,1 = 所有匹配都替换(默认)

返回值

成功: 返回找到 $szSearchString 的数量
失败: 返回 -1,设置@error:
@error: 1 - 无法打开文件
2 - 无法打开临时文件
3 - 无法写入临时文件
4 - 不能删除原始文件
5 - 不能重命名/移动临时文件
6 - 原文件为只读属性设置.

注意/说明

None.

相关

示例/演示


#include <File.au3>

Local $find = "BEFORE"
Local $replace = "AFTER"

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

Local $msg = "Hello Test " & $find & " Hello Test" & @CRLF
$msg &= "Hello Test" & @CRLF
$msg &= @CRLF
$msg &= $find

FileWrite($filename, $msg)

MsgBox(4096, "BEFORE", $msg)

Local $retval = _ReplaceStringInFile($filename, $find, $replace)
If $retval = -1 Then
    MsgBox(4096, "错误", "The pattern could not be replaced in file: " & $filename & " Error: " & @error)
    Exit
Else
    MsgBox(4096, "INFO", "Found " & $retval & " occurances of the pattern: " & $find & " in the file: " & $filename)
EndIf

$msg = FileRead($filename, 1000)
MsgBox(4096, "AFTER", $msg)
FileDelete($filename)