Function Reference

_ReplaceStringInFile

指定されたテキストファイル(バイナリファイルは処理しません!)内の文字列を別の文字列で置換します。

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

 

パラメータ

$szFileName 開くファイルの名前。注意!! FileFindNextFileで返されるような名前だけでなくフルパスで指定してください。
$szSearchString ファイル内の置換したい文字列
$szReplaceString $szSearchStringと入れ換えたい文字列
$fCaseness [オプション]0 = 大文字小文字を区別しない(デフォルト)、 1 = 大文字小文字を区別する
$fOccurance [オプション]0 = 最初に見つかったもののみ置換、 1 = 見つかったもの全てを置換(デフォルト)

 

返し値

成功: 見つかった$szSearchStringの数を返します
Failure: -1を返し@errorを設定します
@error: 1 - ファイルを開けません
2 - tempファイルを開けません
3 - tempファイルに書き込めません
4 - 元のファイルを削除できません
5 - tempファイルのリネーム/移動ができません
6 - ReadOnly属性が設定されています

 

注意

なし。

 

関連

 


#include <File.au3>

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

$filename = "C:\_ReplaceStringInFile.test"

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

FileWrite($filename, $msg )
   
msgbox(0,"BEFORE",$msg)

$retval = _ReplaceStringInFile($filename,$find,$replace)
if $retval = -1 then
    msgbox(0, "ERROR", "The pattern could not be replaced in file: " & $filename & " Error: " & @error)
    exit
else
    msgbox(0, "INFO", "Found " & $retval & " occurances of the pattern: " & $find & " in the file: " & $filename)
endif

$msg = FileRead($filename, 1000)
msgbox(0,"AFTER",$msg)
FileDelete($filename)