Dateiattribute: Datum & Zeit übertragen
Moderators: Hacker, Stefan2, white
Dateiattribute: Datum & Zeit übertragen
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.
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.
Ö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
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
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Kopiere Dateieigenschaften - Zeitstempel bei Nur Lesen Datei
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.
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.
Re: Kopiere Dateieigenschaften - Zeitstempel bei Nur Lesen D
Mit dieser Meinung stehst du aber in einem Serverumfeld ziemlich alleine.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.
...
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, Version 24H2 (OS Build 26100.4061)
TC 11.55 RC2 x64 / x86
Everything 1.5.0.1391a (x64), Everything Toolbar 1.5.2.0, Listary Pro 6.3.2.88
QAP 11.6.4.4 x64
TC 11.55 RC2 x64 / x86
Everything 1.5.0.1391a (x64), Everything Toolbar 1.5.2.0, Listary Pro 6.3.2.88
QAP 11.6.4.4 x64
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
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
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
- ghisler(Author)
- Site Admin
- Posts: 50517
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
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
https://www.ghisler.com
2ghisler(Author)
Demnach verwendet "Dateiattribute ändern" eine andere Funktion als das Übertragen der Attribute in der Verzeichnissynchronisierung?
Grüße
Dalai
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
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Kopiere Dateieigenschaften - Zeitstempel bei Nur Lesen Datei
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.
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.
Re: Dateiattribute: Datum & Zeit übertragen
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
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...
Re: Dateiattribute: Datum & Zeit übertragen
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
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
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Re: Dateiattribute: Datum & Zeit übertragen
...Oh, das kann in richtig Arbeit ausarten...
Wäre vielleicht ein Thema für die Wunschecke?
Wäre vielleicht ein Thema für die Wunschecke?
Der Teufel schläft nie...
Re: Dateiattribute: Datum & Zeit übertragen
Nein, eher nicht.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?
Wie willst du den die Verbindung zwischen Links und Rechts herstellen?
Welcher Zeitstempel welcher Datei soll der neue Zeitstempel welcher anderen Datei werden?
Re: Dateiattribute: Datum & Zeit übertragen
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...
Re: Dateiattribute: Datum & Zeit übertragen
OK, Easy. Gibst's auch schon irgendwo im Forum mit Hilfe eines kleinen Tools (oder PoSh?)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.
EDIT: zB da, mit vier Möglichkeiten
MUT: Mehrfachumbenenn-Tool Datei Datum anpassen
viewtopic.php?f=2&t=41471
Das geht dann nur von der Ersten, der obersten Datei aus. Ansonsten hat man ja keinen Startpunkt.mausebär wrote: 2019-10-14, 21:13 UTC Wenn es mehrere Dateien sind, eben entsprechend der Sortierung von oben nach unten...
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.