Flasher
|
Posted: Wed Feb 28, 2018 05:42 Post subject: |
|
|
Dimsok
Опять про первый пункт снизу памятки напомнить?
Code: | '====================== VBS ======================
' Многократная замена в выбранных текстовых файлах
' Параметры: %WL <строка поиска> <строка замены>
' Ключ учёта регистра: /cs
' Допустимо несколько строк поиска и замены.
' Пример: %WL country страна Russia Россия yes да
'=================================================
Option Explicit : Dim N, A, C, Title, FSO, List, F, All, i
If Not WSH.Arguments.Named.Exists("cs") Then N = 1
Set A = WSH.Arguments.UnNamed : C = A.Count
If C = 0 Then WSH.Quit
Title = " Замена текста в выбранных файлах "
If C Mod 2 = 0 Then MsgBox _
"Нечётное число строк поиска и замены!", 4144, Title : WSH.Quit
Set FSO = CreateObject("Scripting.FileSystemObject")
Set List = FSO.OpenTextFile(A(0),,,-1)
Do : F = List.ReadLine
If FSO.FileExists(F) Then
All = FSO.OpenTextFile(F).ReadAll
For i = 1 To C - 2 Step 2
All = Replace(All, A(i), A(i + 1), 1, -1, N)
Next
With FSO.OpenTextFile(F, 2) .Write All : .Close : End With
End If
Loop Until List.AtEndOfStream : List.Close
If i Then MsgBox "Выполнено!", 4160, Title | Впрочем, у nhrt (c автоопределением и выбором кодировок) есть -list, что может оказаться более предпочтительным. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|