Код:
![Выделить весь код](images/misc/selectcode.png)
' -----------------------------------------------------------------------------------
' Скрипт считывает указанный полным путём текстовый файл (переменная InName)
' В файле ищется первое вхождение каждой из двух подстрок (переменная Str1 и Str2)
' (эти подстроки должны быть в начале строки без лидирующих пробелов!)
' Найденная строки заменяются на строки соответственно вида Str1+EqStr1 и Str2+EqStr2
' Строки EqStr1 и EqStr2 передаются в аргументах скрипта
' Полученный результат запис на место старого файла
' -----------------------------------------------------------------------------------
' Пример использования из командной строки
' H:\Delete\ModiIn.vbs "123.456.789.012" "3456"
' -----------------------------------------------------------------------------------
InName = "H:\Delete\kuku.txt"
Str1 = "Server_address="
Str2 = "Server_port="
Set InArg=WScript.Arguments
EqStr1 = InArg(0)
EqStr2 = InArg(1)
' EqStr1 = "111.222.333.444"
' EqStr2 = "5555"
Set FSO = CreateObject("Scripting.FileSystemObject")
Set InFile = FSO.OpenTextFile(InName, 1, False)
AllStr = InFile.ReadAll
InFile.Close
AllStr = Replace(AllStr, Chr(10), "")
Mass = Split(AllStr, Chr(13))
i1 = LBound(Mass)
i2 = UBound(Mass)
Call ModiIniSub(Mass, i1, i2, Str1, EqStr1)
Call ModiIniSub(Mass, i1, i2, Str2, EqStr2)
Set InFile = FSO.OpenTextFile(InName, 2, False)
For i = i1 To i2
If i <> i2 Then
InFile.WriteLine Mass(i)
Else
InFile.Write Mass(i)
End If
Next
InFile.Close
Sub ModiIniSub(Mass, i1, i2, Stroka, EqStroka)
LStroka = Len(Stroka)
For i = i1 To i2
If Mid(Mass(i), 1, LStroka) = Stroka Then
Mass(i) = Stroka + EqStroka
Exit For
End If
Next
End Sub
Исходник в
файле