Dateiattribute: Datum & Zeit übertragen

German support forum

Moderators: white, Hacker, Stefan2

Lucaen
Junior Member
Junior Member
Posts: 24
Joined: 2016-06-10, 15:03 UTC

Dateiattribute: Datum & Zeit übertragen

Post by *Lucaen »

Ich würde gerne die Dateiattribute Datum & Zeit von einer Datei im linken Fenster auf eine Datei im rechten Fenster übertragen.

Bisher machte ich das so:
im linken Fenster die Datei anklicken, Attribute andern, Datum kopieren, im rechten Fenster die Datei anklicken, Attribute andern, Datum einfügen
und dann mit der Zeit
im linken Fenster die Datei anklicken, Attribute andern, Zeit kopieren, im rechten Fenster die Datei anklicken, Attribute andern, Zeit einfügen
Dazu benutze ich in der Vertikale Buttonbar: cm_SetAttrib

aber das ist mir ein wenig zu umständlich, geht das denn auch einfacher?
Es währe schonmal besser wenn man Datum & Zeit mit einmal kopieren könnte.
User avatar
Dalai
Power Member
Power Member
Posts: 9364
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

Öffne die Verzeichnissynchronisierung, lasse vergleichen, such dir die gewünschten Dateien raus und klicke mit rechts auf sie und wähle "Kopiere Dateieigenschaften".

Grüße
Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Lucaen
Junior Member
Junior Member
Posts: 24
Joined: 2016-06-10, 15:03 UTC

Post by *Lucaen »

Ja super, so gehts ganz einfach, Danke.
mofi
Junior Member
Junior Member
Posts: 15
Joined: 2007-01-28, 10:13 UTC
Location: Vienna

Kopiere Dateieigenschaften - Zeitstempel bei Nur Lesen Datei

Post by *mofi »

Ich verwende auch immer Verzeichnisse synchronisieren zum Kopieren von Datum und Uhrzeit einer Datei, meist auch gleich bei mehreren Dateien, manchmal aber auch nur bei einer Datei, welche ich vor dem Öffnen der Verzeichnissynchronisierung vorher selektiert habe.

Es gibt nur ein kleines Problem beim Kopieren des Zeitstempels einer Datei, was mich manchmal stört.

Hat die Datei, bei welcher Datum und Uhrzeit zu setzen ist, das Nur Lesen (read-only) Dateiattribut gesetzt, dann ändert Total Commander 9.0a (und auch frühere Versionen) das Datum und die Uhrzeit bei dieser Datei einfach nicht. Es gibt auch keine Fehlermeldung. Die Nur Lesen Datei behält einfach ihren Zeitstempel, selbst wenn gleichzeitig auch die Dateiattribute neu gesetzt werden und dabei das Nur Lesen (read-only) Dateiattribut bei der Zieldatei entfernt wird.

Ich bin der Meinung, dass das Nur Lesen Dateiattribut beim Kopieren der Dateieigenschaften keine Rolle spielen sollte, weil der Inhalt der Datei nicht verändert wird.

Dieses Verhalten von TC beim Kopieren des Zeitstempels auf eine Datei mit gesetztem Nur Lesen Dateiattribut habe ich Christian Ghisler noch nie per E-Mail gemeldet. Es kommt glücklicherweise nur ganz selten vor, dass ich den Zeitstempel auf eine Datei kopiere, die schreibgeschützt ist.

Ich verwende übrigens SyncConfirmOverwrite=0 unter [Configuration] in Wincmd.ini. Diese Spezialeinstellung hilft bei diesem kleinen Problem also nicht.

Mit Sysinternal Process Monitor kann ich sehen, dass TC bei einem erfolgreichen Ändern des Zeitstempels die Windows Kernelfunktionen CreateFile, SetBasicInformationFile und CloseFile erfolgreich ausführt. Bei einer Datei mit gesetztem Nur Lesen Dateiattribut wird bei CreateFile aber ACCESS DENIED retourniert.

Somit ist die Ursache für das nicht ausgeführte Ändern des Zeitstempels der Nur Lesen Datei eigentlich nicht bei TC zu suchen, sondern bei Windows. TC müsste bei Dateien mit gesetztem Nur Lesen Dateiattribut zuerst dieses Dateiattribut entfernen, dann den Zeitstempel setzen und dann das Nur Lesen Dateiattribut wieder setzen, falls nicht auch noch die Dateiattribute kopiert werden.
User avatar
Horst.Epp
Power Member
Power Member
Posts: 6450
Joined: 2003-02-06, 17:36 UTC
Location: Germany

Re: Kopiere Dateieigenschaften - Zeitstempel bei Nur Lesen D

Post by *Horst.Epp »

mofi wrote:Ich verwende auch immer Verzeichnisse synchronisieren zum Kopieren von Datum und Uhrzeit einer Datei, meist auch gleich bei mehreren Dateien, manchmal aber auch nur bei einer Datei, welche ich vor dem Öffnen der Verzeichnissynchronisierung vorher selektiert habe.
...
Ich bin der Meinung, dass das Nur Lesen Dateiattribut beim Kopieren der Dateieigenschaften keine Rolle spielen sollte, weil der Inhalt der Datei nicht verändert wird.
...
Mit dieser Meinung stehst du aber in einem Serverumfeld ziemlich alleine.
Alle Eigenschaften einer Datei sind vom User/Owner aus irgend einem Grund so gesetzt und sollten nicht einfach verändert werden.
Da sollte der TC also auf keinen Fall eigenmächtig Änderungen vornehmen.
Windows 11 Home x64 Version 23H2 (OS Build 22631.3374)
TC 11.03 x64 / x86
Everything 1.5.0.1371a (x64), Everything Toolbar 1.3.2, Listary Pro 6.3.0.69
QAP 11.6.3.2 x64
User avatar
Dalai
Power Member
Power Member
Posts: 9364
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

2Horst.Epp
Das schließt aber nicht aus, dass TC dem Wunsch des Nutzers nachkommt, wenn dieser die Übertragung des Zeitstempels von Hand veranlasst. Zumal die Funktion "Attribute ändern" den Zeitstempel auch bei schreibgeschützten Dateien problemlos ändert.

2mofi
Ob das so gewollt ist, kann nur Ghisler beantworten. Wir sollte daher abwarten, was er dazu sagt.

Grüße
Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48021
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Nach meinen Tests kann SetBasicInformationFile bzw. das von mir aufgerufene SetFileAttributes die Attribute nicht setzen, wenn man CreateFile mit der Option "nur lesen" aufruft.
Author of Total Commander
https://www.ghisler.com
User avatar
Dalai
Power Member
Power Member
Posts: 9364
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

2ghisler(Author)
Demnach verwendet "Dateiattribute ändern" eine andere Funktion als das Übertragen der Attribute in der Verzeichnissynchronisierung?

Grüße
Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
mofi
Junior Member
Junior Member
Posts: 15
Joined: 2007-01-28, 10:13 UTC
Location: Vienna

Kopiere Dateieigenschaften - Zeitstempel bei Nur Lesen Datei

Post by *mofi »

Auch die Funktion Dateiattribute ändern verwendet die Funktion SetBasicInformationFile wie ich mit Sysinternals Process Monitor feststellen konnte, allerdings mehrfach, um die gewünschten Dateiattribute inklusive Zeitstempel bei wirklich jeder Datei zu ändern.

Die ausgeführten Windows Kernel Funktionsaufrufe von Dateiattribute ändern bei jeder Datei sind:

1. Aktuelle Dateiattribute lesen

CreateFile mit Zugriff für Read Attributes
QueryBasicInformationFile ... liefert die aktuellen Dateiattribute und Zeitstempel (creation time, last access time, last write time).
CloseFile

2. Dateiattribute zurücksetzen

CreateFile mit Zugriff für Write Attributes
SetBasicInformationFile ... alle Dateiattribute wie read-only, hidden und system entfernen.
CloseFile

3. Zeitstempel der letzten Änderung setzen

CreateFile mit Zugriff für Generic Write, Read Attributes
SetBasicInformationFile ... Zeitstempel für letzte Änderung neu setzen.
CloseFile

4. Dateiattribute neu setzen

CreateFile mit Zugriff für Write Attributes
SetBasicInformationFile ... neue bzw. ursprüngliche Dateiattribute setzen.
CloseFile

Die Funktion Dateiattribute ändern ist grundsätzlich entworfen für eine teilweise Änderung der Dateiattribute und daher ist diese Vorgangsweise sehr sinnvoll.

Beim Kopieren der Dateieigenschaften werden immer alle Dateiattribute der Zieldatei neu gesetzt oder diese bleiben unverändert bzw. es werden Datum und Uhrzeit der letzten Änderung neu gesetzt oder der Zeitstempel der letzten Änderung der Datei wird gar nicht verändert.

Daher wird beim Kopieren der Dateieigenschaften aktuell mit TC 9.0a der 3. Punkt und/oder der 4. Punkt ausgeführt, aber niemals der 1. und 2. Punkt. Damit kann der Zeitstempel der letzten Änderung nicht modifiziert werden, wenn die Zieldatei mittels Nur Lesen Dateiattribut aktuell schreibgeschützt ist. Selbst wenn die Zieldatei danach nicht mehr das Nur Lesen Dateiattribut gesetzt hat, weil die Dateiattribute auch von der Quelldatei kopiert wurden, so wurde der Zeitstempel dennoch nicht kopiert, weil zuerst der Zeitstempel kopiert wird (nicht erfolgreich) und dann die Dateiattribute (erfolgreich).

Ich würde es als sinnvoll erachten, wenn beim Kopieren der Dateieigenschaften beim Setzen des Zeitstempels der Rückgabewert der Funktion ausgewertet wird. Ist das Setzen des Zeitstempels der letzten Änderung der Datei fehlgeschlagen, sollte TC die gleichen 4 Funktionsaufrufe durchführen wie beim Dateiattribute ändern, um den Zeitstempel doch noch von der Quell- auf die Zieldatei zu kopieren, falls dies nicht durch andere Zugriffsbedingungen (NTFS Berechtigungen, Datei aktuell geöffnet mit blockiertem Schreibzugriff) verhindert wird.
User avatar
mausebär
Member
Member
Posts: 184
Joined: 2008-03-25, 13:30 UTC
Location: Near Munich / Bavaria / Germany

Re: Dateiattribute: Datum & Zeit übertragen

Post by *mausebär »

Ich bin jetzt auf dasselbe Problem gestoßen, daß ich Datum und Zeit einer Datei auf eine andere übertragen will.
Aber ich kriege das mit der Verzeichnissynchronisation nicht hin...
Irgendetwas mache ich falsch. Die beiden Verzeichnisse sind unterschiedlich, auch die Dateien.

Ich lasse die Verzeichnisse vergleichen, in den Spalten links und rechts werden die Dateien angezeigt, die natürlich unterschiedlich sind. Dann markiere ich eine Datei in der linken Spalte und dann eine in der rechten.

Dann mit der rechten Maustaste und "Kopiere Dateieigenschaften (von links nach rechts)", aber außer der Auslösung eines Klanges tut sich nichts, die Eigenschaften werden nicht kopiert...

Kann mir da jemand auf die Sprünge helfen...
Vielen Dank
Der Teufel schläft nie...
User avatar
Dalai
Power Member
Power Member
Posts: 9364
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Re: Dateiattribute: Datum & Zeit übertragen

Post by *Dalai »

2mausebär
Dateiattribute können in der Verzeichnissynchronisierung nur zwischen Dateien übertragen werden, die links und rechts unter demselben Namen vorhanden sind. D.h. du wirst wohl Menü Dateien > Dateiattribute ändern bemühen müssen.

Grüße
Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
User avatar
mausebär
Member
Member
Posts: 184
Joined: 2008-03-25, 13:30 UTC
Location: Near Munich / Bavaria / Germany

Re: Dateiattribute: Datum & Zeit übertragen

Post by *mausebär »

...Oh, das kann in richtig Arbeit ausarten...

Wäre vielleicht ein Thema für die Wunschecke?
Der Teufel schläft nie...
User avatar
Stefan2
Power Member
Power Member
Posts: 4133
Joined: 2007-09-13, 22:20 UTC
Location: Europa

Re: Dateiattribute: Datum & Zeit übertragen

Post by *Stefan2 »

mausebär wrote: 2019-10-14, 13:43 UTC ...Oh, das kann in richtig Arbeit ausarten...

Wäre vielleicht ein Thema für die Wunschecke?
Nein, eher nicht.

Wie willst du den die Verbindung zwischen Links und Rechts herstellen?
Welcher Zeitstempel welcher Datei soll der neue Zeitstempel welcher anderen Datei werden?




 
User avatar
mausebär
Member
Member
Posts: 184
Joined: 2008-03-25, 13:30 UTC
Location: Near Munich / Bavaria / Germany

Re: Dateiattribute: Datum & Zeit übertragen

Post by *mausebär »

Ich will die Datums- und Zeit-Infos einer markierten Datei im Fenster links auf eine markierte Datei des rechten Fensters übertragen, wobei die Dateinamen verschieden sind. Wenn es mehrere Dateien sind, eben entsprechend der Sortierung von oben nach unten...
Der Teufel schläft nie...
User avatar
Stefan2
Power Member
Power Member
Posts: 4133
Joined: 2007-09-13, 22:20 UTC
Location: Europa

Re: Dateiattribute: Datum & Zeit übertragen

Post by *Stefan2 »

mausebär wrote: 2019-10-14, 21:13 UTC Ich will die Datums- und Zeit-Infos einer markierten Datei im Fenster links
auf eine markierte Datei des rechten Fensters übertragen, wobei die Dateinamen verschieden sind.
OK, Easy. Gibst's auch schon irgendwo im Forum mit Hilfe eines kleinen Tools (oder PoSh?)
EDIT: zB da, mit vier Möglichkeiten
MUT: Mehrfachumbenenn-Tool Datei Datum anpassen
viewtopic.php?f=2&t=41471

mausebär wrote: 2019-10-14, 21:13 UTC Wenn es mehrere Dateien sind, eben entsprechend der Sortierung von oben nach unten...
Das geht dann nur von der Ersten, der obersten Datei aus. Ansonsten hat man ja keinen Startpunkt.
Auf so viele wie links markiert sind wird rechts der Zeitstempel gesetzt.

Oder du hast (oder erstellst dir) eine 1:1-Beziehung Links/Rechts, zB mit allen Namen in einem Excel-Sheet oder einer Textdatei.




 
Post Reply