• Herzlich willkommen im "neuen" DSLR-Forum!

    Wir hoffen, dass Euch das neue Design und die neuen Features gefallen und Ihr Euch schnell zurechtfindet.
    Wir werden wohl alle etwas Zeit brauchen, um uns in die neue Umgebung einzuleben. Auch für uns ist das alles neu.

    Euer DSLR-Forum-Team

  • In eigener Sache!

    Liebe Mitglieder, liebe Besucher und Gäste
    ich weiß, es ist ein leidiges Thema, aber ich muss es ansprechen: Werbung, Werbeblocker und Finanzierung des Forums.
    Bitte hier weiterlesen ...

  • DSLR-Forum Fotowettbewerb neu erfunden!
    Nach wochenlanger intensiver Arbeit an der Erneuerung des Formates unseres internen Fotowettbewerbes ist es Frosty als Moderator
    und au lait als Programmierer gelungen, unseren Wettbewerb auf ein völlig neues Level zu heben!
    Lest hier alle Infos zum DSLR-Forum Fotowettbewerb 2.0
    Einen voll funktionsfähigen Demowettbewerb kannst du dir hier ansehen.
  • Neuer Partner: AkkuShop.de
    Akkus, Ladegeräte und mehr (nicht nur) für Digitalkameras und Drohnen
  • Neuer Gutscheincode unseres Partners Schutzfolien24:
    DSLR-Forum2024
    Dauerhaft 10% Rabatt auf alle Displayschutzfolien der Eigenmarken "Upscreen", "Brotec", "Savvies".
    Der Code ist für alle Geräteklassen gültig.
  • Stimmt ab über die Sieger des DSLR-Forum Fotowettbewerbs April 2024.
    Thema: "Sprichwörtlich"

    Nur noch bis zum 30.04.2024 23:59!
    Jeder darf abstimmen!
    Zur Abstimmung und Bewertung hier lang
WERBUNG

Dateiname in IPTC Feld kopieren

Nostrodomo

Themenersteller
Hallo,
ich möchte am Anfang meines Workflows den Dateinamen in das IPTC Feld Titel kopieren (copy filename to IPTC record "title"), aber nicht manuell je Bild, sondern am liebsten als Stapelverarbeitung mit einem Skript oder sonstigen Automation. Ich arbeite unter Mac OS X und kann folgende Progs verwenden: Lightroom, Photoshop CS2 incl. Bridge und GraficConverter. Hat jemand eine Idee oder schon eine Anwendung, die so etwas kann? Vielen Dank für jede Hilfe
 
Das kann man sicher leicht skripten. Zumindest für iView hab ich sowas ähnliches schon mal ohne großartige Kenntnisse von Apple Script hinbekommen.

Falls du nur irgendwo den Originaldateinamen sichern willst, benenne deine Bilder mit der Stapelumbenennung von Bridge um und mach ein Häkchen bei "Originaldateinamen in XMP sichern" (oder sinngemäße Formulierung). Dann wird dieser in der Datei als Originaldateiname hinterlegt.
 
am PC geht das mit dem BreezeBrowser sehr einfach, du markierst alle Bilder, gehst auf Edit_IPTCData, und gibst dort @file@ ein, dann nur mehr mit Apply to selected bestätigen, und du hast überall den Dateinamen drin.

Am Mac kann ich leider nicht helfen.
 
Also mit den Gegebenheiten bei Apple kenn ich mich jetzt nicht so aus, aber wir können uns mit Script ja mal so langsam rantasten.

Hier ein erstes Killerscript:
Code:
alert(activeDocument.name);
Kopier das mal in eine neue Datei mit der Endung .jsx oder .js, probier erst mal .jsx (z. B. iptc_name.jsx) und starte es dann in CS2 über Datei, Scripten, Durchsuchen. Wird dann das angezeigt, was Du nachher haben möchtest?

Dann noch eine Frage zu dem IPTC-Feld: Bei geöffnetem Bild Datei -> Dateiinformationen (Shortcut:lol: unter Windows ist Strg+Alt+Shift+i) und sage dann bitte genau (Reiter und Feldüberschrift), in welches Feld der Dateiname rein soll.

Edit: Warum eigentlich Dateiname in IPTC-Feld?
 
Das Wetter ist zu schön für Grundlagenforschung, deshalb habe ich über Script-Listener ein Script aufgezeichnet und an einer Stelle ergänzt.
Ist nicht sehr leserlich, schreibt aber bei mir (CS2, XP) auch in der Stapelverarbeitung den Dateinamen mit Extension (aber ohne Pfad) in das Feld IPTC-Status: Titel. Dazu ebenfalls noch (funktioniert wohl automatisch) in das Feld Beschreibung: Dokumenttitel.
Sichern der Datei musst Du noch selber machen und vor der stapelweisen Nutzung bitte auch testen.

Code:
// =======================================================
var id3 = charIDToTypeID( "setd" );
    var desc2 = new ActionDescriptor();
    var id4 = charIDToTypeID( "null" );
        var ref1 = new ActionReference();
        var id5 = charIDToTypeID( "Prpr" );
        var id6 = charIDToTypeID( "FlIn" );
        ref1.putProperty( id5, id6 );
        var id7 = charIDToTypeID( "Dcmn" );
        var id8 = charIDToTypeID( "Ordn" );
        var id9 = charIDToTypeID( "Trgt" );
        ref1.putEnumerated( id7, id8, id9 );
    desc2.putReference( id4, ref1 );
    var id10 = charIDToTypeID( "T   " );
        var desc3 = new ActionDescriptor();
        var id11 = charIDToTypeID( "ObjN" );
        desc3.putString( id11, activeDocument.name );
    var id12 = charIDToTypeID( "FlIn" );
    desc2.putObject( id10, id12, desc3 );
executeAction( id3, desc2, DialogModes.NO );
 
Hallo Reiner, vielen Dank für Deine Mühre. Leider bin ich ein Unwissender und habe noch ein paar Fragen. Ich habe das Listing in eine Datei mit der Endung .jsx abgespeichert. In Photoshop über Datei, Scripten, Durchsuchen die Datei finden klappt auch ... aber was mache ich dann??? :confused:
 
Hallo Reiner, Danke schön!



Habe das Script unter itpc.jsx im Verzeichnis "Vorgaben/Scripten" gespeichert, ITPC wird beim Aufruf über "Datei, Scripten" automatisch eingetragen. CS muss nei gestartet werden!
 
Hallo Reiner, Danke schön!
Gern geschehen, ich trinke am liebsten Jever!
...und habe noch ein paar Fragen. Ich habe das Listing in eine Datei mit der Endung .jsx abgespeichert. In Photoshop über Datei, Scripten, Durchsuchen die Datei finden klappt auch ... aber was mache ich dann??? :confused:
Na, dann drückst Du auf den Button Laden und hast hoffentlich das richtige Feld in den IPTC gefüllt! Du kannst den Aufruf des Scripts mit einer Aktion aufzeichnen und dann steht Dir das Script für die Stapelverarbeitung zur Verfügung. Aber wie schon oben geschrieben, das Script selber speichert nicht, d. h. das musst Du noch selber machen (lassen).
 
WERBUNG
Zurück
Oben Unten