Datum von Quelldatei auf Zieldatei übertragen/ändern

German support forum

Moderators: white, Hacker, Stefan2

Post Reply
Jello
Junior Member
Junior Member
Posts: 41
Joined: 2003-02-21, 10:31 UTC

Datum von Quelldatei auf Zieldatei übertragen/ändern

Post by *Jello »

Hallo zusammen,

ich bin auf der Suche nach einer Lösung, um das Datum einer Datei A = Quelldatei auf eine Datei B = Zieldatei zu übertragen.

Ich wünsche mir eine Lösung für die Button-Bar oder per Shortcut - ohne Text- bzw. Zahleneingabe.

Über Datei -> "Dateiattribute ändern" kann ich das Datum einer Datei manuell ändern - das ist recht umständlich.

Schade, dass die dortige Unterfunktion "Lade aus Datei unter Cursor" nicht auch so geht, dass man eine andere Datei (A) dabei auswählen kann, als die bei Aufruf der Funktion "Dateiattribute ändern" ausgewählte Datei (B).
Also es lässt sich keine andere Datei auswählen, wenn das Fenster für "Dateiattribute ändern" geöffnet ist.

In diesem Thread hat Hacker auf die timecopy.exe hingewiesen:
Hacker wrote:TimeCopy
Erster Parameter - Quelldatei
Zweiter Parameter - Zieldatei
Doch das kriege ich mit einer Verknüpfung in der Button-Bar und Parameter-Angaben leider nicht hin.
Das müsste ja auch so sein, dass z.B. die Quelldatei im linken Fenster und die Zieldatei im rechten Fenster markiert sind oder der Cursor sich dort (zuletzt) befindet.

Kennt Ihr eine Lösung oder habt einen Tipp?

Vielen Dank vorab + viele Grüße
User avatar
Stefan2
Power Member
Power Member
Posts: 4159
Joined: 2007-09-13, 22:20 UTC
Location: Europa

Dateidatum von anderer Datei übertragen

Post by *Stefan2 »

Wenn die Dateien nicht im selben Ordner liegen
und auch nicht beide im linken/rechten Panel zu sehen sind,
hilft wohl nur eine 2-Schritte Aktion?
1.) Timestamp holen und in einer Env-Var speichern
2.) Timestamp aus dieser Var auf eine andere Datei setzen


Man könnte dies mit einem script erledigen
oder mit einem Kommandozeilentool wie dem hier:
touch /?

Touch for Win32, Version 1.0
Freeware by Steve P. Miller (stevemil@pobox.com). Copyright 1997.
Visit http://pobox.com/~stevemil for the latest version and other utilities.

Usage: touch [/s] [/h] [/p] [/q] [/v] [/c] [/m] [/a] [/r file]
[/d mm-dd[-[cc]yy]] [/t hh[:mm[:ss[.ms]]]] filespec ...

/s Process subdirectories.
/h Process hidden/system files/directories.
/p Prompt for each file (Yes/No/All/Quit). Ignored in view mode.
/q Quiet mode; Only display errors; Ignored in view mode.
/v View mode; Display times rather than set times.
/c View/set created time.
/m View/set modified time; Default if /a and /c are not specified.
/a View/set accessed time.
/r Reference file; Use this file's date and time to set other files.
/d Date: month, day, century, year.
/t Time: hour (0-24), minutes, seconds, milliseconds.

In view mode (/v), the /p, /q, /r, /d, and /t options are ignored.
In set mode, the default is to use the current date and time.
Use the /r, /d, and/or /t options to override the default set time.
The century (cc) is assumed to be 19 for years 69-99, and 20 for years 00-68.

z.B.:

Code: Select all

1.) Get the timestamp:
for /f "tokens=2 skip=4" %A in ('touch.exe /m /v File-A.txt') DO @SET Timestamp=%A

2.) Set the timestamp:
touch /d %Timestamp% File-B.txt
Nur das man File-A/B.txt jeweils mit den TC Parametern %P%N ersetzen müsste.
Jello
Junior Member
Junior Member
Posts: 41
Joined: 2003-02-21, 10:31 UTC

Post by *Jello »

Hallo Stefan,

vielen Dank für Deine Antwort und Deinen Vorschlag!
Ich muss gestehen, das mir das persönlich zu kompliziert erscheint (bitte nicht falsch verstehen) und ich das so auch nicht kann :|

Bei meinen Anwendungsfällen ist die Sichtbarkeit im linken und rechten Fenster vorhanden bzw. möglich.
Und meist liegen die Dateien im selben Verzeichnis.

Geht es mit Button inkl. Parametern - ggfls. mit der timecopy.exe - oder ähnlichem?
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 »

Hallo Jello,

versuche folgendes: richte Dir einen Button mit folgenden Parametern ein:

Kommando: Pfad\zu\timecopy.exe
Parameter: %p%n %t%m
Tooltip: TimeCopy (Src->Trg)
Grüße, van Dusen (#24722)
User avatar
Stefan2
Power Member
Power Member
Posts: 4159
Joined: 2007-09-13, 22:20 UTC
Location: Europa

Post by *Stefan2 »

"Bei meinen Anwendungsfällen ist die Sichtbarkeit im linken und rechten Fenster vorhanden bzw. möglich."

Ja, dann..., probiers mal aus:


Im Button-Dialog die F1-Taste drücken und dort die Hilfe lesen:
%P der Pfad des Quellverzeichnisses
%N der aktuelle Dateiname
%T aktueller Zielpfad
%M den im Zielverzeichnis gewählten Dateinamen
Daraus habe ich mir den folgenden Button zum Testen erstellt:

Code: Select all

Command: cmd /K
Parameter: echo  %P%N %T%M
Icon file: C:\Windows\system32\explorer.exe
Zwei Dateien Links und Rechts markiert und den Button gedrückt: funktioklappt.


Für deine Aufgabe müsstes du das Commando ändern
und bei Paramter das "Echo " rauslöschen...
Und aufpassen welche Datei diejenige mit dem gewünschtem Datum ist!
Tipp: setze ein ?-Zeichen an erster Stelle in das Parameter-Feld.

.
Jello
Junior Member
Junior Member
Posts: 41
Joined: 2003-02-21, 10:31 UTC

Post by *Jello »

Hey Stefan,

toll, THX-A-LOT :)

Den Parameter %M habe ich übersehen (hatte vorher %P%N %T%N drin + geht so nicht).

Hier die Button-Endversion (falls andere diese Funktion ebenso hilfreich finden):

Code: Select all

Command: (Pfad zu)/timecopy.exe
Parameter: %P%N %T%M
Mehrere markierte Zieldateien zu ändern geht wohl nicht.
Zumindest nicht mit %R (anstatt %M), da dann zuviele Parameter und timecopy nur 2 Parameter kennt. Vielleicht bastel ich mir dann ne batch-Datei, sofern ich es mal brauchen sollte.

Nochmals Danke :)
User avatar
milo1012
Power Member
Power Member
Posts: 1158
Joined: 2012-02-02, 19:23 UTC

Post by *milo1012 »

Eine gute Lösung, sehr schön.
Mich würde aber interessieren in welchem Fall du massenhaft den Zeitstempel einer völlig unzusammenhängenden Quelldatei auf eine Zieldatei übertragen willst und deshalb ein Button angebracht ist. Bei einer einzelnen Datei ist das ja wie beschrieben kaum Aufwand.

Wie im verlinkten Thread erwähnt habe ich wohl öfter/eher das Problem das ich Dateien nach einer Bearbeitung auf den Original-Zeitstempel zurücksetzen will. Mit Total Commander geht das ja seit Version 7.50 relativ bequem:
Backup der Datei(en) in anderes Verzeichnis, Datei(en) bearbeiten, Original- und Backupverzeichnis synchronisieren -> "kopiere Dateieigenschaften".

Bis TC das konnte habe ich schon vor über 10 Jahren mit einem Programm namens
Datei-Datums-Änderer gearbeitet. Da ich keine Lust auf komplizierte Batch-Dateien/Skripte für das Problem hatte war das Programm die Lösung. Es tut genau das gleiche und ist bequemer weil man nicht vorher händisch selbst ein Backup anlegen muss (die Variablen werden im Speicher behalten). Darüber hinaus kann es das Erhöhen/Erniedrigen des Original-Zeitstempels mehrerer Dateien. Außerdem wurde es 2009 nochmal aktualisiert, ist also nach wie vor gut zu gebrauchen.

Wie gesagt, in Massen den Zeitstempel einer anderen Datei auf eine bestimmte zu übertragen habe ich noch nie gebraucht...und ich denke ich habe schon eine Menge von sturen Programmen und Servern gehabt die bei falscher Dateizeit oder schlechter Synchronisation mit der Unixzeit meckern. Wenn überhaupt, versehe ich dann mehrere auf einmal mit einem bestimmten Datum. Das geht ja im TC auch problemlos über die Dialogbox Attribute ändern.
Jello
Junior Member
Junior Member
Posts: 41
Joined: 2003-02-21, 10:31 UTC

Post by *Jello »

Ja, also massenhaft brauche ich das wahrlich nicht.

Der Datei-Datums-Änderer sieht nützlich und gut aus (vorallem das Icon :)), vielen Dank!
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48083
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Schade, dass die dortige Unterfunktion "Lade aus Datei unter Cursor" nicht auch so geht, dass man eine andere Datei (A) dabei auswählen kann, als die bei Aufruf der Funktion "Dateiattribute ändern" ausgewählte Datei (B).
Kann man doch! Sie markieren die Datei(en), deren Attribute geändert werden sollen, und stellen den Cursor auf die Datei, von welcher sie geladen werden sollen. Das geht natürlich nur, wenn beide auf derselben Seite liegen, im selben Verzeichnis oder (über Strg+B) in einem Unterverzeichnis.

Falls die Dateien gleich heissen und in verschiedenen Verzeichnissen liegen, geht es sonst über die Funktion "Verzeichnisse synchronisieren": Nach dem Vergleich müssen Sie die Dateien markieren, und können dann über das Rechtsklickmenü die Attribute übertragen.
Author of Total Commander
https://www.ghisler.com
Jello
Junior Member
Junior Member
Posts: 41
Joined: 2003-02-21, 10:31 UTC

Post by *Jello »

Ah!
Vielen Dank!

Freue mich, wieder einiges über TC gelernt zu haben :)
brainstuff
Senior Member
Senior Member
Posts: 264
Joined: 2008-05-22, 21:10 UTC
Location: Neuchatel
Contact:

Zeitstempel

Post by *brainstuff »

@milo1012

Es hat in allen Programmen die ich im Bereich PDF Datei erzeugen einen Überlegungsfehler. Wenn Du jetzt ein Open Office Dokument erzeugt hast und es abspeicherst bekommt es den aktuellen "Zeitstempel". Wenn Du dann auch noch ein PDF erzeugst, dann ist der Zeitstempel ein paar Sekunden später (das macht dann nichts). Wenn Du aber das PDF erst ein paar Tage später erzeugst dann hat es ein ganz anderes Datum wie die Datei, die in diesem PDF enthalten ist.. und so etwas ist ein grandioser Blödsinn ... die PDF Datei muss das Datum der ursprünglichen Datei haben.

Ich kenne nur ein Program was diese geniale Idee umsetzt ... aber nicht im Bereich PDF sondern im Bereich Bildbearbeitung ... und das ist XNVIEW: das tut was ich auch bei der Schaffung von PDF Dateien will: wenn man ein Bild bearbeitet und es dann abspeichert bekommt es den Time-Stamp vom ursprünglichen Bild. Das ist genial und logisch: Wenn Du ein Bild am 20.11.14 um 16h17 aufnimmst dann muss auch ein Ausschnitt von diesem Bild mit dem Timestamp vom 20.11.14 um 16h17 versehen werden, weil das Bild ja zu dieser Uhrzeit gemacht wurde.

Und bei einem PDF ist das eigentlich das Gleiche: Das "Bild" ist dann entstanden, wo die Datei des ursprünglichen abgespeichert wurde. Das PDF ist nur ein "Druck" von der ursprünglichen Datei.

viele Grüsse,
brainstuff
User avatar
milo1012
Power Member
Power Member
Posts: 1158
Joined: 2012-02-02, 19:23 UTC

Re: Zeitstempel

Post by *milo1012 »

brainstuff wrote:und so etwas ist ein grandioser Blödsinn ... die PDF Datei muss das Datum der ursprünglichen Datei haben
Sorry, aber das Dateidatum / Zeitstempel, und damit meine ich das Änderungsdatum,
da dieses in mehr oder weniger allen Dateisystemen verfügbar ist, zeigt eben genau das an: wann eine Datei zuletzt manipuliert wurde.
Das war schon immer so.
Warum sollte ein Programm hingehen und die Bedeutung dieses Begriffs ändern, indem es frei Schnauze den Zeistempel kopiert
und somit Betriebssystem- und Dateisystem-Konventionen ignoriert?

Nochmal: auf Dateisystem-Ebene bezieht sich das Datum eben auf die Dateizeit, das soll so sein.
Deine Forderung bezieht sich aber auf Metadaten.
Ich stimme zu, dass der Zeistempel möglichst erhalten bleiben sollte, aber bitte nicht als Dateiattribut.
Alleine wegen diesen tollen Geschichten wie Sommer-/Winterzeit-Differenz, NTFS<->FAT Differenz, Kopie von MTP-Geräten, etc.,
kann man sich nicht wirklich auf den Zeitstempel verlassen.
Von Forensik-Problemen mal ganz zu schweigen.

Viele Video-Container haben mittlerweile das Encoded/Tagged-Date eingebettet, genau wie z.B. mp4-Audios.
Bei Bildern gehen intelligente Bildarbeiter normalerweise auch so weit, dass sie die Exif-Informationen kopieren wenn du z.B. eine Originaldatei neu komprimierst;
das Datum bleibt also somit erhalten, wenn auch eben als Metainfo eingebettet.
Das von dir beschriebene XNVIEW tut das vermutlich aus dem selben Grund: es sind Exif-Daten vorhanden.

Soweit ich weiß haben PDFs auch gewisse Metadaten. Du solltest also bei deinem Programm eher dafür sorgen dass dort der Zeitstempel aus der Quelldatei eingebettet wird, als sich um das Datei-Datum zu sorgen.

Mir ist jedenfalls kein weiteres Programm bekannt was bei ähnlich gearteten Situationen deine Forderung erfüllt.
TC plugins: PCREsearch and RegXtract
brainstuff
Senior Member
Senior Member
Posts: 264
Joined: 2008-05-22, 21:10 UTC
Location: Neuchatel
Contact:

Datum und Metadateien

Post by *brainstuff »

@milo1012

Ich glaube eher, dass das umgekehrt sein sollte ... das Datum der Original-Datei sollte in den Metadaten stehen.

Eine PDF Datei ist nichts anderes, als ein virtueller Druck der ursprünglichen Datei. egal ob die nun vor 10 Tagen oder erst jetzt "gedruckt" wird. Die wird selbst dann icht verändert wenn ich endlich einmal einen PDF Programm Hersteller finde, der eine ganz neue Idee von mir in das PDF System einbaut. Selbst dann bleibt die Original Datei so wie sie ist.

Wenn man wie ich, sehr häufig mit Dateien arbeitet, die in einer Zeitlichen Reihenfolge sind, dann ist es eine Sauerei, wenn das zu einer Word-Datei gehörige PDF ein Datum hat ws viel später liegt.

Das was xnview macht ist auch sehr logisch: Wenn man ein Foto gemacht hat und es bearbeitet, dann ist das Foto immer von dem Tag, wo es gemacht wurde. Wenn dann ein PDF-"Druck", ein Ausschnitt, eine "Bearbeitung",.. , ein anderes Datum hat, dann ist das sinnlos.

Man kann zwar mit der umbenenn Funktion von TC der ursprünglichen Datei das Datei Datum als YYYYMMDD voran stellen und dann bekommt das PDF den gleichen Namen ... aber das führt zu Dateinamen wie 20141109 xxxxxxxxxx.doc . Dasi ist für mich aber eigentlich Unfug, weil das Datei Datum dann zweimal vorhanden ist.

Ich glaube, dass die Ideal-Version wäre, wenn jedes Program, was etwas auf der Basis einer Datei aus einem Editor "druckt" einfach nachfragen sollte ... "Timestamp der Original-Datei" verwenden?" und dass dann der originale Timestamp verwendet wird.

Eine PDF Datei ist immer ein reines Abbild der Ursprungsdatei .. deshalb muss sie auch im Normalfall das Datum der Original Datei haben.

Brainstuff
User avatar
milo1012
Power Member
Power Member
Posts: 1158
Joined: 2012-02-02, 19:23 UTC

Re: Datum und Metadateien

Post by *milo1012 »

brainstuff wrote:Eine PDF Datei ist nichts anderes, als ein virtueller Druck der ursprünglichen Datei
brainstuff wrote:Eine PDF Datei ist immer ein reines Abbild der Ursprungsdatei .. deshalb muss sie auch im Normalfall das Datum der Original Datei haben.
Ich mag ja kein Experte auf dem Gebiet der Strukturierten Dokumente / DTP / Office sein, aber ich glaube dass dir da eine Menge Leute widersprechen würden.
Eine PDF-Datei kann erst einmal alles sein und zufällig genau so heißen wie eine vorhandene Datei.
Und selbst wenn du sie jetzt aus einer Original-Datei erstellst kann sich diese ja später schon wegen einer neuerer Version grundlegend unterscheiden,
oder ganz profane Dinge können dafür sorgen dass die Datei nichts mehr mit dem Original zu tun hat, wie z.B. nur Bilder oder Text zu exportieren usw.,
so dass diese ganze Diskussion ad absurdum geführt wird.

Dann könnte man deiner Meinung nach das Prinzip ja auch auf andere Dateiformate, wie z.B. Untertitel-Dateien für Videos,
automatisch generierte Header für Quellcode-Dateien, Prüfsummen-/CRC-Dateien, usw. ausdehnen, aber wir sollten das lassen.
brainstuff wrote:das Datum der Original-Datei sollte in den Metadaten stehen
Das habe ich oben schon gesagt.
PDFs haben mindestens die Felder "Erstellt" und "Geändert" in den Metadaten.
Also gib deine Forderung lieber an die Autoren einschlägiger PDF-fähiger Programme weiter.
(wobei es vermutlich schon andere Programme gibt die das so machen können)

Sicherlich würden ich und andere es auch begrüßen wenn der TC die Übertragung Metadaten<->Dateiattribute vereinfachen würde,
aber eine Grundsatzdiskussion über Sinn und Unsinn des Dateidatums führt am Thema vorbei.
TC plugins: PCREsearch and RegXtract
Post Reply