如何使用 AppleScript 删除 OS X 联系人中具有特定域的所有电子邮件地址?
How to delete all email addresses with a specific domain in OS X Contacts using AppleScript?
我的联系人中有一堆电子邮件地址,这些电子邮件地址是 Verizon 提供给他们的 phone 号码的电子邮件地址。
例如:
1234567890@vtext.com or
我想创建一个删除所有这些电子邮件地址的 Applescript。
您不能直接select所有人的所有电子邮件的所有 ID,您需要遍历人员,并在每个人中获取包含您的模式的电子邮件。
下面的脚本正在运行。我只是添加了一个 selection 标准(用于我的测试),其中 select 是所有姓名为 "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
我的联系人中有一堆电子邮件地址,这些电子邮件地址是 Verizon 提供给他们的 phone 号码的电子邮件地址。
例如:
1234567890@vtext.com or
我想创建一个删除所有这些电子邮件地址的 Applescript。
您不能直接select所有人的所有电子邮件的所有 ID,您需要遍历人员,并在每个人中获取包含您的模式的电子邮件。
下面的脚本正在运行。我只是添加了一个 selection 标准(用于我的测试),其中 select 是所有姓名为 "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