Dns 如何使用AppleScript删除OS X联系人中具有特定域的所有电子邮件地址?
我的联系人中有一大堆电子邮件地址,这些地址是Verizon提供给他们的电话号码的电子邮件地址 例如:Dns 如何使用AppleScript删除OS X联系人中具有特定域的所有电子邮件地址?,dns,applescript,contacts,addressbook,Dns,Applescript,Contacts,Addressbook,我的联系人中有一大堆电子邮件地址,这些地址是Verizon提供给他们的电话号码的电子邮件地址 例如: 1234567890@vtext.com or 我想创建一个Applescript,删除所有这些电子邮件地址。您不能直接选择所有人的所有电子邮件的所有Id,您需要在每个人中循环,并获取包含您的模式的电子邮件 贝娄的脚本正在运行。我只是添加了一个选择标准(用于我的测试),它选择了所有名字为“tests”的人。 如果要查看所有联系人,请删除此行并删除下一行的“-” 最后,但并非最不重要的一点是,
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
“包含足够的代码以允许其他人重现问题。有关此方面的帮助,请阅读…”感谢帮助。我自己也弄明白了。