Script für Metadatenänderung

@lostreality
welche file endungen brauchst du denn, die verarbeitet werden sollen.
hier gibt es ja die einschränkung auf jpg und tif. dann kann man das noch erweitern und abschliessen.
 
@Olivetti das kann eigentlich so bleiben, es sind zu 99,8% JPGs :) Ab und an ist mal ein PNG dazwischen, TIFFs sind es nur wenn ich mal an das Pressematerial der Hersteller rankomme, diese werden dann aber anders gekennzeichnet (mit anderer Quellenangabe versehen).

Was ich eventuell noch mache ist das Zieltag zu ändern (statt "Creator"), da muss ich mich aber noch eingehender mit den verfügbaren Metadaten in InDesign auseinandersetzen ("Quelle" ist dort leider nicht verfügbar). Das sollte ich aber hinbekommen, da ich die Zieltag-ID /-Bezeichnung ja auf der Seite von Exiftool raussuchen kann. Ob ich noch weitere Daten rausziehen möchte (z.B. Downloadzeit/-Datum), weis ich noch nicht, da mir das nicht so wichtig ist.

Conclusion: So wie es jetzt ist, ist es genauso wie ich es mir vorgestellt habe! Super Arbeit!
 
ich bau das mit den endungen noch ein, weil es eh' noch nicht fertig ist.
bisher wird ja immer geschrieben, egal ob kmditem... vorhanden ist, oder nicht und es wird die fehlermeldung reingeschrieben.
endfassung kommt später.
 
Okay, lass dich nicht aufhalten ;) Vergiss aber nicht dich im Quelltext zu verewigen :D
 
meta-write.app (as editor - speichern als programm)
Code:
-- made by: Olivetti
-- idea & testing: lostreality
-- bugfix & testing: Pill

on open finderObjects
   repeat with f in (finderObjects)
     if name of (info for f) ends with ".jpg" or name of (info for f) ends with ".jpeg" or name of (info for f) ends with ".png" or name of (info for f) ends with ".psd" or name of (info for f) ends with ".tif" or name of (info for f) ends with ".tiff" then
       try
         set thefile to quoted form of POSIX path of f
         --display dialog thefile
         do shell script "read_tag=\"com.apple.metadata:kMDItemWhereFroms\"; write_tag=\"Creator\"; PATH=/usr/local/bin:$PATH; xattr -px \"$read_tag\" " & thefile & " &>/dev/null && src=$(xattr -px \"$read_tag\" " & thefile & " | xxd -r -p | plutil -convert xml1 -o - - | sed -e 's/<[^>]*>//g' | xargs) && exiftool -\"$write_tag\"=\"$src\" -overwrite_original_in_place " & thefile & " &>/dev/null"
       on error err
         beep
         display dialog "Error: " & err & return & thefile
         --delay 1
       end try
     end if
   end repeat
   --say "done."
   do shell script "afplay /System/Library/Sounds/Glass.aiff"
end open
 
Zuletzt bearbeitet:
ich hätte die endungen jetzt noch gerne einfach als liste abgeprüft. evtl. hat @Pill da noch eine idee?
 
Wenn du noch dran bist, kann man statt des (say "done.") ein (play /System/Library/Sounds/Glass.aiff) einsetzen oder ist das evtl. zwecks Inkompatibilitäten nicht so gut?
 
Du bist so cool :D
Müssen kommendes Jahr mal einen Trinken gehen!
 
@Olivetti Das mit der Liste geht mit
Code:
ignoring case
    if name extension of (info for f) is in {"jpg", "psd"} then
        ...
end ignoring
 
Zurück
Oben Unten