Script: Wie kann ich in der Foto-App auf dem Mac Bilder ohne Schlagwort suchen? Version 2019
Mit intelligenten Alben können wir in Fotos zwar nach Fotos suchen, die ein bestimmtes Schlagwort haben. Aber wir können nicht nach Fotos suchen, die noch kein Schlagwort haben. Wir müssten alle Schlagworte aufzählen und nach "Schlagwort ist nicht ...." suchen.
Man kann aber ein AppleScript verwenden, um alle Fotos ohne Schlagwort zu finden. Ich habe im englischen Apple Support Forum so ein Skript veröffentlicht, siehe:
Script: How to Find Photos Without any Keywords 2019 - Apple Community
Um es zu benutzen, wähle alle Fotos in Fotos aus, die du auf Schlagworte überprüfen willst.
Öffne das Skript in ScriptEditor. Dann drücke die Run Taste.
Das Skript geht die ausgewählten Fotos durch, und fügt dann jedes Foto ohne Schlagworte einem Album namens "missingKeywordsAlbum" zu.
Eine kompilierte Version ist hier: Old Toad's tutorial site: P01 - Applescripts from Photos’ User Tips Compiled as Applications
--- ab hier in den Scripteditor kopieren
(* Find All Photos Without Keywords © Léonie
--------------------------------
This script will scan the photos passed to it for keywords and add all photos without keywords to a standard album called missingKeywordsAlbum
To use this script, select a some photos in Photos to check for missing keyword.
Then press the "Run" button.
The photos can be passed to the script in two ways:
1. Either select photos while viewing the "All Photos" album; this works better than Moments or smart albums
2. Or collect the Photos in a top level defined album with a fixed name. This is safer when your Photos Library is an iCloud Photo Library.
If you want to select the photos without collecting them in an album, set the variable "ReadFromAlbum" to false
If you want to pass the photos in a toplevel album, set ReadFromAlbum to true and change the variable "theAlbumName" to the name of the album you are using.
*)
set ReadFromAlbum to false
-- set this to true, if you want to pass the photos in a toplevel album
set theAlbumName to "PhotoDropBox" -- change this to the name of the album you will use
set imageSel to {}
set saved_delimiter to AppleScript's text item delimiters --save the delimiter
set missingalbumname to "missingKeywordsAlbum"
tell application "Photos"
activate
if (ReadFromAlbum) then -- the photos will be passed in a toplevel album named "PhotoDropBox"
try
if exists container theAlbumName then
set thePhotosBuffer to container theAlbumName
set imageSel to every media item of thePhotosBuffer
else
error "Album " & theAlbumName & "does not exist"
end if
on error errTexttwo number errNumtwo
display dialog "Cannot open album: " & errNumtwo & return & errTexttwo
end try
else -- process the selected photos from the All Photos album
try
set imageSel to (get selection)
on error errTexttwo number errNumtwo
display dialog "Cannot get the selection: " & errNumtwo & return & errTexttwo
end try
end if
-- check, if the album or the selected photos do contain images
if imageSel is {} then
error "Please select some images."
else -- create an album for the photos without keywords
try
if exists container missingalbumname then
set kwa to container missingalbumname
else
set kwa to (make new album named missingalbumname)
end if
on error errTexttwo number errNumtwo
display dialog "Cannot open album missingKeywordsAlbum: " & errNumtwo & return & errTexttwo
end try
repeat with im in imageSel
try
tell im
--set the text item delimiter
set AppleScript's text item delimiters to {", "} --use a comma and space as the delimiter
-- retrieve the keywords
set kws to its keywords as string
if (not (exists kws) or (kws is "missing value")) then
add {im} to kwa
end if
end tell
on error errText number errNum
display dialog "Error: " & errNum & return & errText & "Trying again"
try
delay 2 -- wait and try again
tell im
--set the text item delimiter
set AppleScript's text item delimiters to {", "} --use a comma and space as the delimiter
-- retrieve the keywords
set kws to its keywords as string
if (not (exists kws) or (kws is "missing value")) then
add {im} to kwa
end if
end tell
on error errTexttwo number errNumtwo
display dialog "Skipping image due to repeated error: " & errNumtwo & return & errTexttwo
end try
end try
end repeat
end if
end tell
-- display dialog "Done"
set AppleScript's text item delimiters to saved_delimiter --restore the delimiter
return "Done"