Как извлечь адреса электронной почты из папки, в которой много текстовых файлов, с помощью пакетной обработки или vbs?
Я нашел сценарий, но он предназначен для извлечения писем из файла. Можно ли использовать это для извлечения адресов электронной почты из папки, содержащей много файлов txt.
Const SCRIPT_NAME = "Extract E-mail Addresses"
Dim objFSO, objFil, arrAdr, varBuf, varInp, varOtp
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFil = objFSO.OpenTextFile("file.txt")
varBuf = objFil.ReadAll
objFil.Close
arrAdr = Split(FindString(varBuf, "b[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,4}b"), ",")
Set objFil = objFSO.CreateTextFile("results.txt")
For Each varBuf In arrAdr
objFil.WriteLine varBuf
Next
objFil.Close
Set objFil = Nothing
Set objFSO = Nothing
MsgBox "Extraction complete.", vbInformation + vbOKOnly, SCRIPT_NAME
WScript.Quit
Function FindString(strText, strFind)
Dim objRegEx, colMatches, objMatch
Set objRegEx = CreateObject("VBscript.RegExp")
With objRegEx
.IgnoreCase = True
.Global = True
.Pattern = strFind
Set colMatches = .Execute(strText)
End With
For Each objMatch In colMatches
FindString = FindString & objMatch.Value & ","
Next
If Len(FindString) > 0 Then
FindString = Left(FindString, Len(FindString) - 1)
End If
Set objRegEx = Nothing
Set colMatches = Nothing
Set objMatch = Nothing
End Function
