Hallo Thomas,
mit "Bordmitteln" lässt sich leider kein Vergleich zweier Dateiattribute realisieren. Sofern Du die 32-Bit-Version des TC verwendest, könntest Du aber z.B. ein Script für Lev Freidins Script Content Plugin (
http://www.totalcmd.net/plugring/script_wdx.html) erstellen und verwenden. Das Plugin herunterladen und - zumindest für mein Beispiel - die Datei <script.wdx> umbenennen in <script_GetDetailsOf.wdx> und das Plugin im TC unter diesem Namen (also <script_GetDetailsOf>) registrieren.
Neben dem eigentlichen Plugin <script_GetDetailsOf.wdx> werden im Plugin-Verzeichnis <ScriptWDX_GetDetailsOf\> folgende Dateien benötigt:
<GetDetailsOf.vbs>
Code: Select all
'*** GetDetailsOf.vbs, V1.0, 02.03.2014, van Dusen
'*** Script for Script Content Plugin 0.2
'*** Lev Freidin (c) 2005-2008
'*** http://www.totalcmd.net/plugring/script_wdx.html
'*** http://wincmd.ru/plugring/script_wdx.html
Set fso = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("Shell.Application")
vFile = fso.GetFileName(filename)
vPath = Left(filename, Len(filename) - Len(vFile))
Set objFolder = objShell.NameSpace(vPath)
Set objFoto = objFolder.ParseName(vFile)
'For i = 0 To 30
' vAllDetails = vAllDetails & CStr(i) & " " & objFolder.GetDetailsOf(objFoto, i) & " • "
'Next
'content = vAllDetails
'*** Dateiänderungsdatum. Rückgabewert wird im Format "TT.MM.JJJJ hh:mm" angezeigt
vFileAendDat = objFolder.GetDetailsOf(objFoto, 3)
vFileAendDat = Mid(vFileAendDat, 7, 4) & "-" & Mid(vFileAendDat, 4, 2) & "-" & Mid(vFileAendDat, 1, 2) & " " & Mid(vFileAendDat, 12, 2) & ":" & Mid(vFileAendDat, 15, 2)
'*** Aufnahmedatum. Rückgabewert wird im Format "?TT.?MM.?JJJJ ??hh:mm" angezeigt ("?" lassen sich nicht mit Replace() entfernen)
vAufnahmeDat = objFolder.GetDetailsOf(objFoto, 12)
If vAufnahmeDat <> "" Then
vAufnahmeDat = Mid(vAufnahmeDat, 10, 4) & "-" & Mid(vAufnahmeDat, 6, 2) & "-" & Mid(vAufnahmeDat, 2, 2) & " " & Mid(vAufnahmeDat, 17, 2) & ":" & Mid(vAufnahmeDat, 20, 2)
End If
If vAufnahmeDat = "" Then
vBearbeitetJN = "nicht ermittelbar"
ElseIf vFileAendDat > vAufnahmeDat Then
vBearbeitetJN = "J"
Else
vBearbeitetJN = "N"
End If
content = vBearbeitetJN
content1 = vPath
content2 = vFile
content3 = vFileAendDat
content4 = vAufnahmeDat
<script.ini>
Code: Select all
[Script]
Section=GetDetailsOf
[Defaults]
LongName=1
ParseDirs=0
[GetDetailsOf]
LongName=1
ParseDirs=0
Script=GetDetailsOf.vbs
<script_GetDetailsOf.lng>
Code: Select all
[deu]
Result=BearbeitetJN
Result1=Pfad
Result2=Dateiname
Result3=Dateiänderungsdatum
Result4=Aufnahmedatum
Wenn alles geklappt hast, kannst Du im TC u.a. die benutzerdefinierten Spalten
[=script_getdetailsof.BearbeitetJN]
[=script_getdetailsof.Dateiänderungsdatum]
[=script_getdetailsof.Aufnahmedatum]
verwenden.
[=script_getdetailsof.BearbeitetJN] liefert "nicht ermittelbar", wenn die Datei kein Aufnahmedatum enthält oder dieses nicht ermittelt werden kann.
[=script_getdetailsof.BearbeitetJN] liefert "J", wenn das Dateiänderungsdatum jünger (also größer) als das Aufnahmedatum ist.
[=script_getdetailsof.BearbeitetJN] liefert "N", wenn das Dateiänderungsdatum älter als oder ebenso alt wie (also kleiner als oder gleich) das Aufnahmedatum ist.
Für Deinen Anwendungsfall kommt also insbesondere die Spalte
[=script_getdetailsof.BearbeitetJN] in Betracht. Dieses benutzerdefinierte Attribut lässt sich natürlich auch in Suchläufen, Dateifarbdefinitionen usw. usf. verwenden.
Viele Grüße,
van Dusen