Тема: VBS: поиск в строке и удаление этой строки
есть скрипт который в каждом файле папки ищет строку с заданным словом word и удаляет эту строку, но он удаляет только строку с первым искомым словом в файле, а остальные оставляет. Вот никак не могу придумать как переделать его чтоб удалял строки со всеми искомыми словами в файле.
word = "Source:" 'искомое слово
papka = "c:\temp\" 'папка поиска
otchet = "D:\\временное\\WSH\\test\\otchet.txt" 'файл отчета
i=0
Dim boolFound
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objRegExp = CreateObject("VBScript.RegExp")
objRegExp.IgnoreCase = True
Set file2 = objFSO.OpenTextFile(otchet, 2, True) '2 - Открыть файл для записи. Если файл уже существовал, его содержимое теряется. 8 - Открыть файл для добавления. Если файл уже существовал, информация будет дописываться в конец файла.Создавать файл, если он не существует (True), или нет (False).
RecursiveFolderScan papka
file2.close
Msgbox "ВСЕ! Обработано "& i &" файлов"
Sub RecursiveFolderScan(FolderPath)
'Получаем объектную модель текущего каталога
Set Folder = objFSO.GetFolder(FolderPath)
'Перебираем все файлы в текущем каталоге
For Each File in Folder.Files
Set file1 = objFSO.OpenTextFile(File, 1, False)
boolFound = False
Do Until file1.AtEndOfStream
sw = file1.ReadLine()
If InStr(1, sw, word) <> 0 Then
boolFound = True
file2.WriteLine(file.Name)
file2.WriteLine(sw)
Exit Do
End If
Loop
file1.close
'записать уникальный номер в конец исходной страницы
If boolFound Then
Set file1 = objFSO.OpenTextFile(File, 1, False)
strText = file1.ReadAll
file1.close
strNewText = Replace(strText, sw, " ")
Set file1 = objFSO.OpenTextFile(File, 2, False)
file1.WriteLine strNewText
file1.close
End If
i=i+1 'счетчик файлов
Next
'Перебираем все подкаталоги в каталоге
For Each SubFolder in Folder.SubFolders
RecursiveFolderScan(SubFolder.Path)
Next
End Sub
