Я сделал logEditor для своего журнала RSYNC, его задача - заменить строки состояния в сгенерированном файле журнала и создать отредактированный новый для конечного пользователя. Для этого я использую метод REPLACE в VBS. Все работает хорошо, кроме одной проблемы, которую я до сих пор не могу решить.
Когда я использую REPLACE несколько раз, он использует только первое использование замены, записывает его в файл и игнорирует другие. Но мне нужно использовать замену несколько раз, чтобы заменить несколько статусов
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)
Это пример журнала rsync
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
Не могли бы вы, ребята, помочь мне и сказать мне, где моя логика плоха?
Заранее спасибо за все ответы.
EDIT_0: В конце этого метода мне нужно, чтобы новый файл журнала выглядел следующим образом:
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