1 (изменено: Parazit, 2017-02-17 17:46:57)

Тема: VBS: Извлечь строки по списку

Привет. Такая задача.
Вот у меня есть файл C:\111.txt. В нём надо найти определённые строки, которые присутствуют в файле-списке C:\222.txt.
И вывести эти строки в файл C:\Output.txt.

2

Re: VBS: Извлечь строки по списку

List1 = "C:\Список1.txt"
List2 = "C:\Список2.txt"
List3 = "C:\Список_совпавших_строк.txt"

Set Dict = CreateObject("Scripting.Dictionary")
Set FSO  = CreateObject("Scripting.FileSystemObject")

With FSO.OpenTextFile(List1)
  Do : F = Trim(.ReadLine)
    If F <> "" Then Dict.Add F, ""
  Loop Until .AtEndOfStream : .Close
End With

With FSO.OpenTextFile(List2)
  Do : F = Trim(.ReadLine)
    If F <> "" And Dict.Exists(F) Then S = S & vbCrLf & F
  Loop Until .AtEndOfStream : .Close
End With

If Not IsEmpty(S) Then FSO.CreateTextFile(List3, 1).Write Mid(S, 3)

3 (изменено: Parazit, 2017-02-17 17:46:36)

Re: VBS: Извлечь строки по списку

Flasher, мне нужны различия.

4

Re: VBS: Извлечь строки по списку

А мне точки в твоих предложениях.

Parazit пишет:

строки, которые присутствуют

5 (изменено: Parazit, 2017-02-17 17:46:40)

Re: VBS: Извлечь строки по списку

Flasher, задача немного изменилась.

6

Re: VBS: Извлечь строки по списку

    If F <> "" And Not Dict.Exists(F) Then S = S & vbCrLf & F

7

Re: VBS: Извлечь строки по списку

Flasher, великолепно. Ты, как всегда, лучший.