server-nutzer
Goto Top

Werte in Dateieigenschaften "Titel", "Betreff", "Markierungen", "Kommentare" einfügen Datenquelle Excel-Tabelle

Hallo Leute,

ich würde gern bei ca. 4.500 Dateien Werte in den Dateieigenschaften einfügen, die sich derzeit aus "historischen Gründen" in einer Excel-Tabelle befinden, um die Windows-Suchfunktion verwenden zu können. Konkret soll in der Tabe "Details", dort in Bereich Beschreibung die Eigenschaft "Titel", "Betreff", "Markierungen", "Kommentare" die Infos aus einer Excel-Tabelle eingefügt werden.

screenshot (319)

Beispiel:
JPG-Bilddatei (Motiv Gruppe Mountainbiker fährt im Wald), Fotograf ist Klaus Mustermann, es ist das achte Bild einer Serie von ähnlichen Bildern.
Jede Datei ist eindeutig durch eine Durchnummerierung (hier 04549) identifizierbar, es existieren keine doppelten Zahlen.

Der Original Dateiname lautet z.B.: "04549_2019-07-22 MTBler_im_Wald_Klaus Mustermann (8).JPG"

screenshot (320)

Infos in der Excel-Tabelle
Spalte "Dateiname:", Zelle: "04549_2019-07-22 MTBler_im_Wald_Klaus Mustermann (8).JPG"

Spalte "Beschreibung:", Zelle: "Wald, Radfahren, Mountainbike"

Spalte "Tags (mit Kommas getrennt):", Zelle: "Gruppe, Radfahren, Mountainbike, Führung, Umweltbildung, Wald, Klaus Mustermann"


Da es sich um etwa 4.500 Bilddateien handelt, die ich gern mit den Informationen versehen möchte, geht händisch nicht.

Jetzt die Frage: Mit welchem Tool (oder einem Skript?) könnte ich die Infos der jeweiligen JPG-Datei aus der Excel-Datei in den entsprechenden Dateieigenschaften transformieren?
Der Vorteil, der sich daraus ergibt, ist, dass man sehr schön die Windows-eigene Suche benutzen kann und man findet sehr gut Dateien (hier Bildmotive) wieder.

Freue mich auf Hinweise von Euch.

Herzlichen Dank
Jörg

Content-ID: 616415

Url: https://administrator.de/contentid/616415

Ausgedruckt am: 04.11.2024 um 18:11 Uhr

Fennek11
Fennek11 26.10.2020 um 12:02:42 Uhr
Goto Top
Hallo,

hier ein Ansatz mit Powershell:

https://mnaoumov.wordpress.com/2015/01/11/get-exif-metadata-with-powersh ...

Den Schreibzugriff müßtest Du suchen.

Eine einfache Variante zum Auslesen:
$f = 'C:\Users\[username]\Desktop\Date_Test2.jpg'  

$img = [System.Drawing.Image]::FromFile($f)
$img.propertyitems

mfg
Fennek11
Fennek11 26.10.2020 um 14:05:22 Uhr
Goto Top
Mit Powershell kann man zwar die Metadaten ändern (auch Aufnahmezeit), aber keine neue hinzufügen.

Das geht aber mit VBA, passt also besser zu Excel:

Option Explicit
' Bildkopie mit Kommentar in sep. Verzeichnis anlegen  
' Verweis setzen auf: "Microsoft Windows Image Acquisition Library v2.0"  
Sub setProp()
    'Deklarationen  
    Dim objImage As ImageFile
    Dim objIP  As ImageProcess
    Dim objVector As Vector
    Dim strID As Variant
    Dim strFile As String
    Dim iRow As Integer, iCount As Integer
   
    'Property-IDs  
    strID = Array("40091", "40092", "40093", "40094", "40095") 'Titel,Kommentar,Autor,Stichwort,Betreff  
    
    'WIA-Objekte  
    Set objImage = CreateObject("WIA.ImageFile")  
    Set objIP = CreateObject("WIA.ImageProcess")  
    Set objVector = CreateObject("WIA.Vector")  
    
    'Anzahl der Einträge im aktiven Sheet (ab Zeile 2)  
    iCount = 5
   
    'Einträge abarbeiten  
    For iRow = 1 To iCount
       
        'vollständiger Dateiname  - z.B. "C:\Test\Foto.jpg"  
        strFile = Cells(iRow + 1, 1)
       
        'Bild laden  
        objImage.LoadFile strFile
        
        'Filter Parameter  
        objIP.Filters.Add objIP.FilterInfos("Exif").FilterID  
        objIP.Filters(1).Properties("ID") = strID(1) 'hier Kommentar  
        objIP.Filters(1).Properties("Type") = VectorOfBytesImagePropertyType  
       
        'Kommentartext  
        objVector.SetFromString "Auswahl"  
        objIP.Filters(1).Properties("Value") = objVector  
       
        'Kommentar einstellen  
        Set objImage = objIP.Apply(objImage)
            
        'Bild unter gleichem Namen in sep Verzeichnis speichern (hier "..Test\Auswahl\..")  
        objImage.SaveFile Replace(strFile, "Test\", "Test\Auswahl\")  
    Next
End Sub 


'-----------------------------  

'https://docs.microsoft.com/en-us/previous-versions/windows/desktop/wiaaut/-wiaaut-vector  

'https://docs.microsoft.com/en-us/previous-versions/windows/desktop/wiaaut/-wiaaut-howto-use-filters  
Server-Nutzer
Server-Nutzer 28.10.2020 um 08:28:36 Uhr
Goto Top
Hi Fennek11,

oh, das ist ja ein spannender Ansatz aus Excel heraus.

Das muss ich auf meinem Testsystem die Tage mal austesten.

Super! Schönen Dank für Deine Mühen!

LG
Jörg