VBS でファイル内の文字列を正規表現置換するサブルーチン

副産物 もったいないから 貼っておく

sed inifile, "^Path=.*[/\\]", "Path=Z:\Firefox\Profiles\"

' ファイル内の文字列を正規表現置換
Sub sed(filename, srcptn, repptn)
	Const ForReading = 1, ForWriting = 2
	tmpfilename = filename & ".tmp"
	Set fso = CreateObject("Scripting.FileSystemObject")
	Set srcf = fso.OpenTextFile(filename, ForReading)
	Set dstf = fso.OpenTextFile(tmpfilename, ForWriting, True)
	Set regex = New RegExp
	regex.IgnoreCase = True
	regex.Global = True
	regex.Pattern = srcptn
	do while not srcf.AtEndOfStream
		buf = srcf.ReadLine
		buf = regex.Replace(buf, repptn)
		dstf.WriteLine buf
	loop
	srcf.Close
	dstf.Close
	fso.DeleteFile filename
	fso.MoveFile tmpfilename, filename
End Sub