Поиск и замена текста в файлах
Материал из TCKB 2.0
Скрипт, заменяющий все вхождения заданной строки во всех выделенных файлах на другую строку. Архиполезнейшая вещь!
' File: ReplaceInFiles.vbs ' Description: Производит поиск текста с заменой ' в выделенных текстовых файлах ' Installation: Создайте кнопку на панели TC ' Команда: "диск:\путь\к\файлу\ReplaceInFiles.vbs" ' Параметры: "%L" (именно в кавычках!) ' Copyright: (c) 2006, Volniy Option Explicit Dim FSO, Find_String, Replace_String, F, Buffer, ListFile Const ForReading = 1, ForWriting = 2 Set FSO = CreateObject("Scripting.FileSystemObject") Find_String = InputBox("Введите искомую строку", "Поиск и замена") If Len(Find_String) = 0 Then MsgBox "Не задана строка поиска!", vbExclamation, "Поиск и замена" WScript.Quit() End If Replace_String = InputBox("Введите строку для замены", "Поиск и замена") Set ListFile = FSO.OpenTextFile(WScript.Arguments(0), 1) Do While Not ListFile.AtEndOfStream Call DoItForThisFile(ListFile.ReadLine) Loop ListFile.Close Set ListFile = Nothing Set F = Nothing Set FSO = Nothing MsgBox "Замена завершена!", vbInformation, "Поиск и замена" WScript.Quit Sub DoItForThisFile(FilePath) Set F = FSO.OpenTextFile(FilePath, ForReading) Buffer = F.ReadAll F.Close Buffer = Replace(CStr(Buffer), Find_String, Replace_String, 1, -1, 1) FSO.CopyFile FilePath, FilePath & ".bak" Set F = FSO.OpenTextFile(FilePath, ForWriting) F.Write Buffer F.Close End Sub
Volniy
