|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Скопировать телефоны из .VCF |
|
|
CMD/BAT - Скопировать телефоны из .VCF
|
Старожил Сообщения: 489 |
Есть папка с кучей контактов в формате .VCF (Например Вася.VCF, Маша.VCF и т.д.), в каждом из них есть строчка с телефоном начинающаяся с TEL;CELL:89055000000 Можно ли из этой кучи контактов сделать один файлик с Именами и Телефонами с помощью CMD/BAT ?
|
|
Отправлено: 11:42, 18-05-2015 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Valek271183, упакуйте пару-тройку таких файла в архив, выложите сюда или на RGhost.
|
Отправлено: 11:50, 18-05-2015 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 489
|
Профиль | Отправить PM | Цитировать Прикрепил
и на http://rghost.ru/7rvkCs7s9 |
Отправлено: 11:53, 18-05-2015 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать 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
'=============================================================================
Исходная папка задаётся аргументом скрипта (можно просто перетащить папку на скрипт в Проводнике). |
Отправлено: 13:37, 18-05-2015 | #4 |
Старожил Сообщения: 489
|
Профиль | Отправить PM | Цитировать Пишет Сценарий не указан, папка с контактами с именем 123 с корне диска С:\ - перетаскиваю её на скрипт и пишет Сценарий не указан
|
|
Отправлено: 14:02, 18-05-2015 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Valek271183:
|
|
Отправлено: 14:27, 18-05-2015 | #6 |
Старожил Сообщения: 489
|
Профиль | Отправить PM | Цитировать Пишет ошибку Can't find Name and Phone in file
строка 37 символ 8 недопустимый вызов или аргумент процедуры |
Отправлено: 16:18, 18-05-2015 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
Отправлено: 16:28, 18-05-2015 | #8 |
Старожил Сообщения: 489
|
Профиль | Отправить PM | Цитировать ---------------------------
Windows Script Host --------------------------- Сценарий: C:\Text.vbs Строка: 37 Символ: 8 Ошибка: Недопустимый вызов или аргумент процедуры Код: 800A0005 Источник: Ошибка выполнения Microsoft VBScript --------------------------- ОК --------------------------- это при перетаскивание на Text.vbs |
Отправлено: 16:32, 18-05-2015 | #9 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Давайте уточним: строка 37 — это: «objTS.WriteLine QuotedPrintableDecode(Trim(.Item(1)), .Item(0)) & "," & .Item(2) & "," & objFile.Path», так?
|
Отправлено: 16:35, 18-05-2015 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Офис и Текст - vcf не сохраняются изменения после редактирования | makatuk | Программное обеспечение Windows | 0 | 03-01-2015 18:14 | |
К 2020 году мобильные телефоны будут у 9 из 10 жителей планеты | OSZone News | Новости железа | 1 | 19-11-2014 09:34 | |
CMD/BAT - Скопировать первую строку из файла | AlekseyB. | Скриптовые языки администрирования Windows | 5 | 12-09-2013 15:50 | |
Офис и Текст - импорт .vcf | clop1000 | Программное обеспечение Windows | 0 | 29-06-2013 00:13 | |
Телефоны Microsoft Kin возвращаются из забытия | OSZone News | Новости железа | 0 | 14-11-2010 08:30 |
|