FileSetTime

Ändert den Zeitstempel von ein oder mehreren Dateien oder Ordnern. Platzhalter werden unterstützt.

FileSetTime , YYYYMMDDHH24MISS, Dateimuster, WelcheZeit, OrdnerEinbeziehen?, Rekursiv?

Parameter

YYYYMMDDHH24MISS

Wenn dieser Parameter weggelassen wird oder leer ist, wird standardmäßig der jetzige Zeitpunkt verwendet. Ansonsten kann ein Zeitpunkt angegeben werden, der für diese Operation verwendet werden soll (siehe Bemerkungen zum Format). Jahre älter als 1601 werden nicht unterstützt.

Dieser Parameter ist ein Ausdruck. Wenn mehrere Variablen demzufolge zu einem Zeitstempel verkettet werden müssen, sollte der Punkt-Operator anstelle von Prozentzeichen verwendet werden. Zum Beispiel: FileSetTime, Jahr . Monat . Tag, C:\Meine Datei.txt.

Dateimuster

Name einer Datei oder eines Ordners, oder ein Platzhaltermuster wie C:\Temp\*.tmp. Wenn kein absoluter Pfad angegeben ist, wird Dateimuster im A_WorkingDir-Verzeichnis vermutet.

Lässt man diesen Parameter weg, wird stattdessen die aktuelle Datei von der innersten umschlossenen Dateimuster-Schleife verwendet.

WelcheZeit
Welcher Zeitstempel gesetzt werden soll:
M = Zeitpunkt der letzten Änderung (Standardwert, wenn der Parameter weggelassen wird oder leer ist)
C = Zeitpunkt der Erstellung
A = Zeitpunkt des letzten Zugriffs
OrdnerEinbeziehen?

0 (Standard) Ordner werden nicht mit einbezogen (nur Dateien).
1 Alle Dateien und Ordner, die dem Platzhaltermuster entsprechen, werden mit einbezogen.
2 Nur Ordner werden mit einbezogen (keine Dateien).

Hinweis: Wenn Dateimuster ein einzelner Ordner anstelle eines Platzhaltermusters ist, wird er immer mit einbezogen, unabhängig von dieser Einstellung.

Dieser Parameter kann ein Ausdruck sein.

Rekursiv?

0 (Standard) Unterordner werden nicht rekursiv durchsucht.
1 Unterordner werden rekursiv durchsucht; das heißt, dass zusätzlich alle tieferen Navigationsebenen des angegebenen Platzhaltermusters durchsucht werden, um Dateien und Ordner zu finden, die dem Dateimuster entsprechen. Es werden alle Unterordner rekursiv durchsucht, nicht nur solche, die dem Dateimuster entsprechen. Dateien und Ordner, deren vollständiger Pfadname länger als 259 Zeichen ist, werden übersprungen, als wären sie nicht vorhanden. Dieses Problem tritt jedoch nur selten auf, weil das Betriebssystem solche Pfadnamen normalerweise nicht erlaubt.

Dieser Parameter kann ein Ausdruck sein.

Fehlerbehandlung

[v1.1.04+]: Dieser Befehl ist in der Lage, bei Misserfolg eine Ausnahme auszulösen. Weitere Informationen finden Sie unter Laufzeitfehler.

ErrorLevel wird bei Misserfolg auf die Anzahl der Dateien gesetzt, die nicht geändert werden konnten, und bei Erfolg auf 0. Wenn der angegebene Zeitstempel ungültig ist oder Dateimuster in einen leeren Wert aufgelöst wird, wird ErrorLevel auf 1 gesetzt.

Wenn Dateien gefunden wurden, wird A_LastError entweder auf Null (0) oder unmittelbar nach dem letzten Fehler auf das Ergebnis der Systemfunktion GetLastError() gesetzt. Ansonsten enthält A_LastError einen Fehlercode, der eventuell kenntlich macht, warum keine Dateien gefunden wurden.

Bemerkungen

Die Zugriffszeitpunkte von Dateien auf FAT16- und FAT32-Datenträgern sind eventuell ungenauer als die von Dateien auf NTFS-Datenträgern.

Die Elemente von YYYYYMMDDDHH24MISS sind:

YYYY 4-stelliges Jahr
MM 2-stelliger Monat (01-12)
DD 2-stelliger Tag des Monats (01-31)
HH24 2-stellige Stunde im 24-Stunden-Format (00-23). Zum Beispiel: 09 ist 9am und 21 ist 9pm.
MI 2-stellige Minute (00-59)
SS 2-stellige Sekunde (00-59)

Wenn man nur einen Teilbereich von YYYYMMDDHH24MISS angibt (z. B. 200403), werden alle restlichen Elemente, die weggelassen wurden, mit den folgenden Standardwerten versehen:

MM: Monat 01
DD: Tag 01
HH24: Stunde 00
MI: Minute 00
SS: Sekunde 00

Die interne Variable A_Now enthält die aktuelle Ortszeit im YYYYMMDDHH24MISS-Format. Ebenso enthält A_NowUTC die aktuelle koordinierte Weltzeit.

Hinweis: Datum-Zeit-Werte können via EnvAdd und EnvSub verglichen, addiert oder subtrahiert werden. Des Weiteren ist es ratsam, unterschiedlich lange Zeitstempel nicht mit Größer-Als oder Kleiner-Als zu vergleichen. Denn sie werden nicht chronologisch, sondern numerisch verglichen; das heißt zum Beispiel, dass 20040201 immer numerisch kleiner als 200401010533 ist, obwohl die erste Zahl aus chronologischer Sicht größer wäre. Greifen Sie stattdessen auf EnvSub zurück, um herauszufinden, ob die Zeitspanne zwischen den zwei Zeitstempeln positiv oder negativ ist.

Siehe auch

FileGetTime, FileGetAttrib, FileSetAttrib, FileGetSize, FileGetVersion, FormatTime, Dateimuster-Schleife, EnvAdd (Datumsberechnung), EnvSub (Datumsdifferenz)

Beispiele

#1: Ersetzt den Änderungszeitpunkt von allen gefundenen Dateien mit dem gegenwärtigen Zeitpunkt:

FileSetTime, , C:\temp\*.txt

#2: Ersetzt das Änderungsdatum (Uhrzeit ist Mitternacht):

FileSetTime, 20040122, C:\Meine Dokumente\test.doc

#3: Ersetzt das Erstellungsdatum. Die Uhrzeit wird auf 16:55 Uhr gesetzt:

FileSetTime, 200401221655, C:\Meine Dokumente\test.doc, C

#4: Ersetzt das Änderungsdatum von allen gefundenen Dateien. Ordner sind wegen dem letzten Parameter auch betroffen:

FileSetTime, 20040122165500, C:\Temp\*.*, M, 1