wenn ich ein PDF mit Erstellungsdatum 1.1.2014 importiere speichert Devonthink die Datei mit Erstellungsdatum = Importdatum ab. Also habe ich dann z.b. eine Datei die ich heute importiere mit Erstellungsdatum 19.11.2024 und nicht 1.1.2014.
Wenn ich die Datei im Finder anzeige steht dort als Erstellungsdatum 1.1.2014 aber wieso importiert Devonthink das falsch?
Ich bin leider mit meinem Latein am Ende aber vielleicht habt ihr eine Idee.
Handelt es sich wirklich um das Erstellungs- oder um das Änderungsdatum, das nach dem Import nicht stimmt? Bildschirmfotos der Angaben aus dem Finder, aus der Vorschau.app und aus DEVONthink wären zum Vergleich hilfreich.
Danke! Ein Bildschirmfoto der entsprechenden Angaben aus dem Finder wäre noch hilfreich, insbesondere des Erstellungsdatums. Die Vorschau.app zeigt nämlich das interne Erstellungsdatum des PDF-Dokuments an, das nicht zwingend identisch zum entsprechenden Datum der Datei sein muss.
Ok jetzt sehe ich es auch das Erstellungsdatum der Datei ist das was DEvonthink übernimmt. Kann man da nicht das interne Erstellungsdatum der PDF selber als Sortierung bei DT nehmen.
Es gibt hierfür eine versteckte Einstellung UsePDFDocumentDates, s. Hilfe > Appendix > Hidden Preferences. Allerdings beeinflusst diese Einstellung nur den Import, d.h. die Dateien müssten erneut importiert werden.
Das ist nur ein Beispiel für einen festen Datensatz aus meiner Datenbank. Für beliebige Datensätze könnte man eine Smartgroup basteln und dann den wesentlichen Script-Code in
So ich habe mich eine Weile mit ChatGPT rumgeschlagen und damit ein für mich gutes Ergebnis erzielt.
Ich hänge das Script unten an falls es jemand brauchen kann. Damit es funktioniert muss das tool EXIFTOOL installiert werden
brew install exiftool
Dann im Script evtl. den Path von exiftool anpassen.
Ich habe das Script immer aus dem Scripteditor gestartet. Also erst Dateien in DevonThink markieren und dann das Script starten.
Dabei kann man sehen ob es evtl. Fehler gibt.
tell application "DEVONthink 3"
-- Alle markierten Dateien abrufen
set selectedItems to selection
end tell
repeat with selectedItem in selectedItems
tell application "DEVONthink 3"
-- Dateipfad abrufen
set filePath to (get path of selectedItem)
end tell
try
-- ExifTool ausführen, um das Erstellungsdatum zu extrahieren
tell current application
set createDateRaw to do shell script "/opt/homebrew/bin/exiftool -CreateDate '" & filePath & "'"
-- Datum bereinigen: Nur das Datum extrahieren
set createDate to do shell script "echo '" & createDateRaw & "' | grep -oE '[0-9]{4}:[0-9]{2}:[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}'"
end tell
-- Überprüfen, ob das Datum erfolgreich extrahiert wurde
if createDate is "" then error "Datum konnte nicht extrahiert werden."
-- Datum ins AppleScript-Format konvertieren
set AppleScript's text item delimiters to {" ", ":"}
set dateParts to text items of createDate
set theYear to item 1 of dateParts
set theMonth to item 2 of dateParts
set theDay to item 3 of dateParts
set theHour to item 4 of dateParts
set theMinute to item 5 of dateParts
set theSecond to item 6 of dateParts
set theDate to (current date)
set year of theDate to theYear
set month of theDate to theMonth
set day of theDate to theDay
set time of theDate to (theHour * hours + theMinute * minutes + theSecond)
on error errMsg
tell application "DEVONthink 3"
display alert "Fehler beim Verarbeiten der Datei" message filePath & return & errMsg as critical
end tell
set theDate to missing value -- Wenn ein Fehler auftritt, überspringen
end try
-- Erstellungsdatum setzen, wenn kein Fehler aufgetreten ist
if theDate is not missing value then
tell application "DEVONthink 3"
set creation date of selectedItem to theDate
end tell
end if
end repeat
tell application "DEVONthink 3"
-- Dialog anzeigen, wenn alle Dateien verarbeitet wurden
display alert "Verarbeitung abgeschlossen" message "Alle ausgewählten Dateien wurden erfolgreich verarbeitet." as informational buttons {"OK"} default button "OK"
end tell
Wow. Zig mal längerer Code und dann braucht man auch noch ein externes Tool.
Aber klar, wenn es von ChatGPT kommt, muss es ja gut sein.
Warum fragst du überhaupt hier, wenn dich die Antwort gar nicht interessiert?
ganz ruhig.
Hab nirgendwo behauptet das ChatGPT gut ist hat ewig gedauert bis es lief.
Konnte aber mit deinen Code Schnipseln nix anfangen da ich nicht programmieren kann.
Wollte dann auch hier keinen weiter belästigen und habe es mit ChatGPT versucht.
Ich bin ruhig. Aber ich finde es unhöflich, andere um Hilfe zu bitten und dann noch nicht mal danke zu sagen, wenn dir jemand hilft. Oder zu fragen, wenn du Fragen dazu hast.
ChatGPT macht halt das, was es immer tut: irgendwas aus dem Netz zusammensuchen und irgendwie aneinanderpappen. Im besten Fall läuft der Code. Aber schön oder effizient oder ein gutes Beispiel ist er nicht. Warum ihn also posten?
Sorry das mit dem danke an dich ist mir echt durchgegangen. Da geb ich dir recht ist nicht meine Art.
Ich dachte nur als ich den Code (JavaScript? ) gesehen habe auweia das bekomme ich eh nicht hin.
Nächstes mal frage ich nach.
Klar habe ich auch gemerkt das ich zig mal probiert habe bis es lief. Das Hauptproblem war das verschiedene Datumsformat der ganzen PDFs.
Aber gut es hat schlussendlich für mich funktioniert und wollte es nur teilen falls es wer anders auch brauchen kann.
Auch wenn ich es jetzt durch habe würde ich auch gerne deinen Code mal testen aber ich wüsste gar nicht wie ich den starten soll.
Na, im ScriptEditor. Oben links “Javascript” statt “AppleScript” einstellen und im ersten Script die x-devonthink URL durch eine aus deine Datenbank ersetzen (Kontextmenü “Verweis kopieren” beim gewünschten PDF).
Das ist für eibe einzelne Datei. Für alle ausgewählten muss man den Code minimal ändern.