如何使用AppleScript删除OS X Contacts中特定域的所有电子邮件地址?

时间:2015-06-27 14:16:29

标签: dns applescript contacts addressbook

我的联系人中有一堆电子邮件地址,是Verizon提供给他们的电话号码的电子邮件地址。

例如:

1234567890@vtext.com or 

我想创建一个删除所有这些电子邮件地址的Applescript。

2 个答案:

答案 0 :(得分:1)

我没有尝试过pbell的回答,但下面的脚本对我有用。

tell application "Contacts"
    tell every person
        delete (every email whose value contains "vtext.com")
    end tell
    save
end tell

答案 1 :(得分:0)

您不能直接选择所有人的所有电子邮件的所有ID,您需要遍历各个人,并在每个人中收到包含您的模式的电子邮件。

脚本轰鸣声正在发挥作用。我只是添加一个选择标准(对于我的测试),它选择所有名字为" tests"的人。 删除此行并删除" - "如果您想浏览所有联系人,请在下一行。

最后但并非最不重要的是,因为您可能会删除许多数据,请确保您之前备份所有联系人数据库!

tell application "Address Book"
    set All_Contacts to every person whose name contains "tests"
    --set All_Contacts to every person
    tell me to display dialog "Are you sure you want me to check emails of  " & (count of All_Contacts) & " contacts ?"
    repeat with My_Contact in All_Contacts
        set Bad_Id to (id of every email of My_Contact whose value contains "vtext.com")
        repeat with my_Id in Bad_Id
            delete (emails of My_Contact whose id is my_Id)
        end repeat
    end repeat
save
end tell