Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Contributor


Сообщения: 2728
Благодарности: 1697

Профиль | Отправить PM | Цитировать


Msgbox я оставил случайно, для отладки. для планировщика это не годится. Как вариант
Код: Выделить весь код
FileIn = "Z:\Где файл\1c_to_kl.txt"
Section = Array("mediaInfo")
Fin = "ПоказательТипа=\d*"
Rep = "ПоказательТипа=2"

Set R = CreateObject("VBScript.RegExp")
With R
    .Global = True
    .Pattern = Fin
    .IgnoreCase = True
End With

With CreateObject("Scripting.FileSystemObject")
    With .OpenTextFile(FileIn, 1)
        InTxt = Split(.ReadAll, "[")
        .Close
    End With
    
    L = False
    For i = 0 To UBound(InTxt)
        For Each s In Section
            If InStr(1, InTxt(i), s + "]", 1) = 1 Then
                InTxt0 = InTxt(i)
                InTxt(i) = R.Replace(InTxt(i), Rep)
                L = L Or InTxt0 <> InTxt(i)
                Exit For
            End If
        Next
    Next
    
    Out = FileIn + vbCr + "не изменялся"
    If L Then
        With .OpenTextFile(FileIn, 2, True)
            .Write Join(InTxt, "[")
            .Close
        End With
        Out = FileIn + vbCr + "был изменен"
    End If
    ''''''''MsgBox Out
    CreateObject("WScript.Shell").Run "Msg.exe" + " * " + CStr(Now()) + vbCr + Out, 0, False
End With

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.

Это сообщение посчитали полезным следующие участники:

Отправлено: 22:52, 09-08-2023 | #28