Dns 如何使用AppleScript删除OS X联系人中具有特定域的所有电子邮件地址?

Dns 如何使用AppleScript删除OS X联系人中具有特定域的所有电子邮件地址?,dns,applescript,contacts,addressbook,Dns,Applescript,Contacts,Addressbook,我的联系人中有一大堆电子邮件地址,这些地址是Verizon提供给他们的电话号码的电子邮件地址 例如: 1234567890@vtext.com or 我想创建一个Applescript,删除所有这些电子邮件地址。您不能直接选择所有人的所有电子邮件的所有Id,您需要在每个人中循环,并获取包含您的模式的电子邮件 贝娄的脚本正在运行。我只是添加了一个选择标准(用于我的测试),它选择了所有名字为“tests”的人。 如果要查看所有联系人,请删除此行并删除下一行的“-” 最后,但并非最不重要的一点是,

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

例如:

1234567890@vtext.com or 

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

您不能直接选择所有人的所有电子邮件的所有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

我还没有试过pbell的答案,但下面的脚本对我来说很有用

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

“包含足够的代码以允许其他人重现问题。有关此方面的帮助,请阅读…”感谢帮助。我自己也弄明白了。