Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: Windows Script Host 
Author Message
Flasher



PostPosted: Wed Feb 28, 2018 05:42    Post subject: Reply with quote

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) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group