ページ

2017年11月7日火曜日

複数ファイル内の文字列をまとめて置換2

前回は、固定文字に変換していましたが、
文字列ごとに指定文字にするように変更しました。

Option Explicit
Dim objFileSys 'FileSystemオブジェクト
Dim strReadFile '置換ファイル
Dim strWriteFile
Dim objRead 'ファイルオブジェクト
Dim objWrite 'ファイルオブジェクト
Dim strRep,strRepBase
Dim strLine '読み込んだテキスト
Dim index 'ファイルループ
Set objFileSys = CreateObject("Scripting.FileSystemObject")
strReadFile = Wscript.Arguments(0)
Wscript.Echo strReadFile

strWriteFile= objFileSys.BuildPath (objFileSys.GetParentFolderName (WScript.ScriptFullName), objFileSys.GetTempName ())
Set objRead =objFileSys.OpenTextFile(strReadFile,1,false)
Set objWrite=objFileSys.OpenTextFile(strWriteFile,2,true)
Do Until objRead.AtEndOfStream = true
    strLine=objRead.ReadLine()
For index=1 To Wscript.Arguments.Count-1 Step 2
strRep = Wscript.Arguments(index+1)
strLine = Replace(strLine, Wscript.Arguments(index), strRep)
Next
    objWrite.WriteLine strLine
Loop
 
objRead.Close
objWrite.Close
objFileSys.DeleteFile strReadFile
objFileSys.MoveFile strWriteFile,strReadFile
Set objFileSys = Nothing
Set objRead = Nothing
Set objWrite = Nothing

0 件のコメント:

コメントを投稿