Прошу помощи в VBS
Добрый день!
Граждане гуру-форумчане!
Очень нужен скрипт на VBS, который бы искал в файле (txt, config, log) строку по маске и заменял её на другую(указанную в скрипте).
Очень-очень нужен...
|
1. Кодировка файлов и их максимально возможный размер.
2. Примеры масок.
|
Цитата:
Цитата Iska
1. Кодировка файлов и их максимально возможный размер.
2. Примеры масок. »
|
1. Размер не большой - до 1-2 мб
2. Пример маски - (начало строки, возможно несколько пробелов)<искомое слово>(остальная часть строки - символы,буквы)
3. Кодировка - ANSI
|
Destany, например, так:
читать дальше »
Код:
Option Explicit
Const ForReading = 1
Const ForWriting = 2
Dim strPath
Dim strReplaceWith
Dim objRegExp
Dim strContent
If WScript.Arguments.Count = 3 Then
strPath = WScript.Arguments.Item(0)
strReplaceWith = WScript.Arguments.Item(2)
With WScript.CreateObject("Scripting.FileSystemObject")
If .FileExists(strPath) Then
Set objRegExp = WScript.CreateObject("VBScript.RegExp")
objRegExp.Pattern = WScript.Arguments.Item(1)
objRegExp.Global = True
With .OpenTextFile(strPath, ForReading)
strContent = .ReadAll()
.Close
End With
Do While objRegExp.Test(strContent)
strContent = objRegExp.Replace(strContent, strReplaceWith)
Loop
With .OpenTextFile(strPath, ForWriting)
.Write strContent
.Close
End With
Else
WScript.Echo "Can't find file [" & strPath & "]."
End If
End With
Else
WScript.Echo "Usage: cscript.exe //nologo """ & WScript.ScriptName & """ <file> <Pattern> <Replace with>"
End If
WScript.Quit 0
Пример текстового файла E:\Песочница\0269\0001.txt:
Код:
Мама мыла раму.
Рабы не мы,
Мы не рабы.
Пример вызова скрипта:
Код:
cscript.exe //nologo "0001.vbs" "E:\Песочница\0269\0001.txt" "(.*[^Мм])а(.*)" "$1ы$2"
Результат:
Код:
Мама мылы рыму.
Рыбы не мы,
Мы не рыбы.
|
Время: 15:08.
© OSzone.net 2001-