首页  编辑  

扫描所有vcf文件并生成SMSSender电话本的代码

Tags: /Ruby/   Date Created:
SMSSender是微软出品的一款在电脑上通过手机发送短信的小软件。
他的电话本格式是pbs,文件名是phonebook.pbs。
格式如下:
[General]
NumOfContacts=489
[1]
DisplayedName=7天
CellNumber=4007770777
card.rb代码,用法:ruby card.rb vcf文件所在目录
#encoding: utf-8
def get_tel(file)
 File.open(file) do |f|
   f.each_line do |line|
     return line[9..100].chop if line[0..8] == "TEL;CELL:"
   end
 end
 ""
end
out = []
files = Dir.glob(File.join(ARGV[0], '*.vcf'))
n = 1
files.each do |f|
 out << "[#{n.to_s}]\r\n"
 n += 1
 out << "DisplayedName=#{File.basename(f, ".vcf")}\r\n"
 out << "CellNumber=" + get_tel(f) + "\r\n"
end
File.open(File.join(ARGV[0], "phonebook.pbs"), "wb") do |f|
 f.puts("[General]\r\nNumOfContacts=#{n}\r\n")
 out.each { |a| f.puts(a) }
end