Vbscript VBS多重替换使用

Vbscript VBS多重替换使用,vbscript,rsync,text-editor,overwrite,file-writing,Vbscript,Rsync,Text Editor,Overwrite,File Writing,我为我的RSYNC日志做了logEditor,他的任务是替换生成的日志文件中的状态字符串,并为最终用户创建一个编辑过的新字符串。为此,我使用IMVBS替换方法。除了一个我仍然无法解决的问题外,一切都很顺利 当我多次使用REPLACE时,只需先使用REPLACE,然后将其写入文件并忽略其他内容。但是我需要使用replace multipletimes来替换多个状态 Function logEditor(strInputFile, strLogFileName) Const ForReading =

我为我的RSYNC日志做了logEditor,他的任务是替换生成的日志文件中的状态字符串,并为最终用户创建一个编辑过的新字符串。为此,我使用IMVBS替换方法。除了一个我仍然无法解决的问题外,一切都很顺利

当我多次使用REPLACE时,只需先使用REPLACE,然后将其写入文件并忽略其他内容。但是我需要使用replace multipletimes来替换多个状态

Function logEditor(strInputFile, strLogFileName)
Const ForReading = 1
Const ForWriting = 2
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(strInputFile, ForReading)
strText = objFile.ReadAll
objFile.Close

'replaceOfStatus
strNewText1 = Replace(strText, "cd+++++++++", "CDir")
'this one is going to be ignored
strNewText2 = Replace(strText, "<f+++++++++", "FILE")

Set objFile = objFSO.OpenTextFile(strLogFileName, ForWriting)
objFile.WriteLine strNewText1 'writed one
objFile.WriteLine strNewText2 'ignored one
objFile.Close
End Function
call logEditor(strInputFile, strLogFileName)
函数日志编辑器(strInputFile,strLogFileName)
常数ForReading=1
写入常数=2
设置objFSO=CreateObject(“Scripting.FileSystemObject”)
设置objFile=objFSO.OpenTextFile(strInputFile,ForReading)
strText=objFile.ReadAll
objFile.Close
"状态的更替",
strNewText1=替换(STREXT,“cd++”,“CDir”)
“这一点将被忽略

strNewText2=替换(strNewText1,"但是我需要替换多个状态,因为阅读日志的人不知道CD***/F**/others是什么意思。总的来说,我需要替换大约30个状态。现在你的问题与原来的问题有点不同。根据原来的情况,你说只有第一个状态被更改,没有其他状态。我提供了AlgoTwea谢谢你。
2018/04/27 12:29:40 [792] .d..t...... texlive/
2018/04/27 12:33:31 [792] cd+++++++++ texlive/Downloads/
2018/04/27 12:33:31 [792] <f+++++++++ texlive/Downloads/Backup.zip
2018/04/27 12:33:32 [792] <f+++++++++ texlive/Downloads/ChromeSetup.exe
2018/04/27 12:33:43 [792] <f+++++++++ texlive/Downloads/test.txt
2018/04/27 12:33:43 [792] <f+++++++++ texlive/Downloads/desktop.ini
2018/04/27 12:29:40 [792] Dir texlive/
2018/04/27 12:33:31 [792] CDir texlive/Downloads/
2018/04/27 12:33:31 [792] File texlive/Downloads/Backup.zip
2018/04/27 12:33:32 [792] File texlive/Downloads/ChromeSetup.exe
2018/04/27 12:33:43 [792] File texlive/Downloads/test.txt
2018/04/27 12:33:43 [792] File texlive/Downloads/desktop.ini
Function logEditor(strInputFile, strLogFileName)
    Const ForReading = 1
    Const ForWriting = 2

    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objFile = objFSO.OpenTextFile(strInputFile, ForReading)
    strText = objFile.ReadAll
    objFile.Close

    'replaceOfStatus
    strNewText1 = Replace(strText, "cd+++++++++", "CDir")
    'this one is going to be ignored
    strNewText2 = Replace(strNewText1, "<f+++++++++", "FILE") 'USE THE MODIFIED strNewText1 STRING 

    Set objFile = objFSO.OpenTextFile(strLogFileName, ForWriting, True)
'   objFile.WriteLine strNewText1 'writed one YOU DONT NEED THIS LINE
    objFile.Write strNewText2 'ignored one HERE THE ENTIRE FILE IS BEING WRITTEN
    objFile.Close
End Function