Valek271183, попробуйте так (на WSH):
Скрытый текст
Код:

Option Explicit
Dim strSourceFolder
Dim objFSO
Dim objFile
Dim objTS
Dim strContent
If WScript.Arguments.Count = 1 Then
strSourceFolder = WScript.Arguments.Item(0)
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
If objFSO.FolderExists(strSourceFolder) Then
Set objTS = Nothing
For Each objFile In objFSO.GetFolder(strSourceFolder).Files
If StrComp(objFSO.GetExtensionName(objFile.Name), "vcf", vbTextCompare) = 0 Then
With objFile.OpenAsTextStream()
strContent = .ReadAll()
.Close
End With
With WScript.CreateObject("VBScript.RegExp")
.Pattern = "^BEGIN:VCARD\r\nVERSION:2.1\r\nN;CHARSET=(.*);ENCODING=QUOTED-PRINTABLE:;(.*);;;\r\nTEL;CELL:(.*)\r\n[\s\S]*END:VCARD$"
.MultiLine = True
If .Test(strContent) Then
With .Execute(strContent).Item(0).Submatches
If objTS Is Nothing Then
Set objTS = objFSO.CreateTextFile("Result.txt", True)
End If
objTS.WriteLine QuotedPrintableDecode(Trim(.Item(1)), .Item(0)) & "," & .Item(2) & "," & objFile.Path
End With
Else
WScript.Echo "Can't find Name and Phone in file [" & objFile.Path & "]."
End If
End With
End If
Next
If Not objTS Is Nothing Then
objTS.Close
Set objTS = Nothing
End If
Else
WScript.Echo "Can't find source folder [" & strSourceFolder & "]."
WScript.Quit 2
End If
Else
WScript.Echo "Usage: cscript.exe //nologo " & WScript.ScriptName & " <Source folder>"
WScript.Quit 1
End If
WScript.Quit 0
'=============================================================================
'=============================================================================
Function QuotedPrintableDecode(strValue, strCharSet)
With WScript.CreateObject("CDO.Message")
.BodyPart.ContentTransferEncoding = "quoted-printable"
With .BodyPart.GetEncodedContentStream
.charset = "windows-1250"
.WriteText strValue
.Flush
End With
With .BodyPart.GetDecodedContentStream
.CharSet = strCharSet
QuotedPrintableDecode = .ReadText()
End With
End With
End Function
'=============================================================================
Исходная папка задаётся аргументом скрипта (можно просто перетащить папку на скрипт в Проводнике).