Dateinamen in Metadaten schreiben, z.B. als 'jpg-Kommentar'

German support forum

Moderators: Hacker, Stefan2, white

Post Reply
frogtie
Junior Member
Junior Member
Posts: 45
Joined: 2008-04-09, 13:15 UTC

Dateinamen in Metadaten schreiben, z.B. als 'jpg-Kommentar'

Post by *frogtie »

Guten Tag,

Seit Wochen plage ich mich mit folgendem Problem herum:

Als Fotograf möchte ich einen Teil meiner Bilder auf Tumblr posten.

Leider nennt Tumblr die Bilder mit "wirren" Zeichenfolgen um, sodaß keine Identifikation der Bilder anhand des Dateinamens mehr möglich ist.

Also möchte ich den jeweiligen Dateinamen des Bildes in die Metadaten, z.B. als 'jpg-Kommentar' schreiben.

Gibt es da eine Möglichkeit mit dem TC soetwas möglichst automatisiert zu realisieren ?

danke im Voraus für die vielen Vorschläge :-)
User avatar
Stefan2
Power Member
Power Member
Posts: 4281
Joined: 2007-09-13, 22:20 UTC
Location: Europa

VBScript: For Each Selected File - Write Meta-Data JPG comme

Post by *Stefan2 »

Hi frogtie,

zum Schreiben der Meta-Daten würde ich ein externes Kommandozeilenprogramm verwenden.
Eventuell geht es auch mit einem EXIF Plugin (TotalCmd.net)



Für deine Zwecke könntest du mal dieses VBS Skript austesten.

# Lade dir ExifTool by Phil Harvey herunter und entpacke es:
http://www.sno.phy.queensu.ca/~phil/exiftool/

# Speichere mein Skript als Name.vbs
# Ziehe es auf die Buttonbar vom TC.
# Passe diesen neuen Button an:
'//'CMD = D:\rive\path\to\this\name.vbs
'//'PARAM = "%L"
'//'PATH =
'//'ICON = C:\Windows\System32\WScript.exe
'//'TOOLTIP = Schreibe Dateinamen als META COMMENT.
'//'[X] Als Symbol (minimiert)

# Erstelle ein Backup deiner Dateien.
# Selektiere eine oder ein paar Dateien zum testen.
# Klicke auf den Button und warte auf die "Done!" Nachricht.
Fertig.

Code: Select all

'//'V B S   S c r i p t    for Total Commander:
'//'Purpose: In selektierte(n) Datei(en) den Dateinamen als META COMMENT schreiben.
'//'Stefan, v00.1, 2015-11-18
'//'Found at: http://ghisler.ch/board/viewtopic.php?t=43064
'//'- Datei(en) markieren (vorher Backup erstellen)
'//'- Skript ausführen, auf DONE! Message warten.
'// --------------------------------------------
'//'T C   B U T T O N:
'//'CMD		= D:\rive\path\to\this\name.vbs (use %Commander_Path%\ to be portable)
'//'PARAM	= "%L" (in button dialog press F1 key for more help)
'//'PATH	=
'//'ICON	= C:\Windows\System32\WScript.exe
'//'TOOLTIP	= Schreibe Dateinamen als META COMMENT.
'//'[X] Als Symbol (minimiert)
'// --------------------------------------------
'//'S C R I P T  S E T T I N G S:
On Error Resume Next
Set FSO	= CreateObject("Scripting.FileSystemObject")
Set WSO	= Wscript.CreateObject("WScript.Shell")
TCPath	= WSO.ExpandEnvironmentStrings("%Commander_Path%")
'// --------------------------------------------
'//'U S E R   S E T T I N G S:
'//  ExifTool by Phil Harvey
'//  Read, Write and Edit Meta Information!
'//  http://www.sno.phy.queensu.ca/~phil/exiftool/
'//Download this tool, unpack it, adjust the following path to the executable:
ToolPath = TCPATH & "\TOOLs\Graphic\Exiftool L e e r zeichen\exiftool.exe"
'// --------------------------------------------
'//'T H E   S C R I P T:
Const FORREADING = 1
sTCtempList = Wscript.arguments.Item(0) ' The TC temp file due the "%L" parameter
   If  FSO.FileExists(sTCtempList) Then
      Set       oTextStream = FSO.OpenTextFile(sTCtempList,FORREADING)
      Do Until oTextStream.AtEndOfStream
            vFullName = oTextStream.ReadLine
            Set oFile = FSO.GetFile(vFullName)
                vName = FSO.GetFileName(oFile)

		'// Phil Harvey ExifTool commands:
				'// -overwrite_original
				'//  Overwrite the original *FILE* (instead of preserving it by adding
				'//  "_original" to the file name) when writing information to an image.
				'//  Caution: This option should only be used if you already have
				'//  separate backup copies of your image files.
				'// -delete_original[!]
				'//   Delete "_original" backups

				'//origin command: exiftool.exe -comment="Turmfalke.jpg" Turmfalke.jpg
				
				'//Execute command:
				'WSO.RUN chr(34)& ToolPath 	&chr(34)& " -overwrite_original -comment=" _
				WSO.RUN chr(34)& ToolPath	&chr(34)& " -comment=" _
											&chr(34)& vName &chr(34)&" " _
											&chr(34)& vFullName &chr(34),0,True
			'//--------
      Loop
      oTextStream.Close
      MsgBox "Done!"
   Else
      MsgBox "Input file sTCtempList %L% not found."
   End If
'// --------------------------------------------
'//EOF


HTH? :D
User avatar
matixx
Power Member
Power Member
Posts: 1118
Joined: 2003-03-21, 02:37 UTC
Location: ....

Post by *matixx »

Es gibt die umständliche Möglichkeit über den Dateiattributeänderungsdialog sowas zu machen, aber nicht automatisiert.
Eine Implementierung einer Funktion die z.Bsp. Werte in Metafelder schreibt als Teilfunktion des Mehrfach-Umbenenn-Tools wird von den meisten hier abgelehnt.

Ich hätte sofort Verwendung dafür (mp3), du auch.

Es bleibt dir hier nur der Weg über ein jpg-Tool welche diese Möglichkeit anbietet, oder script-Gefrickel.

Gruss maat
frogtie
Junior Member
Junior Member
Posts: 45
Joined: 2008-04-09, 13:15 UTC

Post by *frogtie »

Ersteinmal herzlichen Dank !!!

Ich werde es mal in Ruhe ausprobieren und dann berichten.
User avatar
milo1012
Power Member
Power Member
Posts: 1158
Joined: 2012-02-02, 19:23 UTC

Post by *milo1012 »

matixx wrote:Es gibt die umständliche Möglichkeit über den Dateiattributeänderungsdialog sowas zu machen, aber nicht automatisiert.
Doch, das geht schon.
Die damals besprochenen Beispiele mit mp3 sind natürlich nicht besonders komfortabel.

Bei jpg und Co. kann man aber das Plug-in JPG Comment nehmen.
Einfach
Datei -> Dateiattribute ändern...:

Code: Select all

Pluginattribute ändern:
jpg-comment -> JPEG-Kommentar -> [=tc.Voller Name]
Wenn es ein "blankes" jpg ist, ohne reinen exif-Block, dann wird das Kommentarfeld sogar von vielen Programmen ignoriert,
sollte also keine Probleme geben.

Anschließend kann man mit dem MUT-Tool die Bilder wieder umbenennen (das selbe Plug-in-Feld).
TC plugins: PCREsearch and RegXtract
User avatar
matixx
Power Member
Power Member
Posts: 1118
Joined: 2003-03-21, 02:37 UTC
Location: ....

Post by *matixx »

Ahh, ok, Danke für den Hinweis.

Gruss maat
#101512
User avatar
van Dusen
Power Member
Power Member
Posts: 684
Joined: 2004-09-16, 19:30 UTC
Location: Sinzig (Rhein), Germany

Post by *van Dusen »

2frogtie

Ich benutze ebenfalls ExifTool. Zur Benutzung über den den TC habe ich mir folgenden Eintrag im TC-Startmenü angelegt:

Titel:

Code: Select all

EXIF: EXIF-DocumentName auf Dateiname setzen
Kommando:

Code: Select all

D:\Programme\Misc\ExifTool.exe
Parameter:

Code: Select all

-P "-EXIF:DocumentName<File:FileName" -if "not $-EXIF:DocumentName" -progress -pause -overwrite_original_in_place %S

Funktioniert ganz ohne Scripte. Im TC einfach alle Bilddateien, bei denen der (derzeitige) Original-Dateiname im Tag EXIF:DocumentName gespeichert werden soll, markieren und den Menüpunkt auswählen. Das Tag wird dank der "if"-Bedingung nur dann geschrieben, wenn es noch nicht existiert.
User avatar
Stefan2
Power Member
Power Member
Posts: 4281
Joined: 2007-09-13, 22:20 UTC
Location: Europa

Write JPEG JPG Comment with ExifTool command line

Post by *Stefan2 »

van Dusen wrote:2frogtie

Ich benutze ebenfalls ExifTool. Zur Benutzung über den den TC habe ich mir folgenden Eintrag im TC-Startmenü angelegt:
C 8) :D L



This shows that it works, but I nowhere can see anywhere 'DocumentName' with IView, FSView, WinExplorer or Exiftool:
-P "-EXIF:DocumentName<File:FileName" -if "not $-EXIF:DocumentName" -progress -pause -overwrite_original_in_place %S


But at least this works for me:
-P "-Comment<File:FileName" -progress -pause -overwrite_original_in_place %S



Thank you!
frogtie
Junior Member
Junior Member
Posts: 45
Joined: 2008-04-09, 13:15 UTC

Post by *frogtie »

Danke an Alle für die Lösungssuche.

Die Lösung von "van Dusen" klappt wirklich gut.

Grüße aus Dortmund

Rüdiger
User avatar
matixx
Power Member
Power Member
Posts: 1118
Joined: 2003-03-21, 02:37 UTC
Location: ....

Post by *matixx »

Danke für die Rückmeldung!
#101512
Post Reply