Funktionreferenz


FileSetTime

Beschreibung anzeigen in

Setzt die Zeit- und Datumsinformationen einer oder mehrerer Dateien (oder Verzeichnisse).

FileSetTime ( "file pattern", "time" [, type = 0 [, recurse = 0]] )

Parameter

file pattern Der Pfad der Datei(en), die verändert werden sollen, z. B. C:\*.au3 oder C:\Dir (* und ? Platzhalter werden akzeptiert - siehe Bemerkungen)
time Die neue Zeit im Format "YYYYMMDDHHMMSS" (Jahr, Monat, Tag, Stunden [24-Stunden-Format], Minuten, Sekunden). Wenn time leer ("") ist, dann wird die aktuelle Zeit verwendet.
type [optional] Die Zeitmarke, die geändert werden soll:
    $FT_MODIFIED (0) = Geändert (Standardwert)
    $FT_CREATED (1) = Erstellt
    $FT_ACCESSED (2) = Letzter Zugriff

Die Konstanten sind in FileConstants.au3 definiert
recurse [optional]
    $FT_NONRECURSIVE (0) - keine Unterverzeichnisse einbeziehen (Standard).
    $FT_RECURSIVE (1) - Unterverzeichnisse einbeziehen.

Die Konstanten sind in FileConstants.au3 definiert

Rückgabewert

Erfolg: 1.
Fehler: 0 wenn beim Ändern der Zeitmarke ein Fehler aufgetreten ist.

Bemerkungen

Siehe FileFindFirstFile() für eine Auseinanderstzung über Platzhalter(wildcards).

Wenn ein Datum älter als der 01.01.1980 verwendet wird, so wird diese Funktion fehlschlagen.
Wenn versucht wird das Zeitstempel bei schreibgeschützten Dateien zu ändern, so wird das Ergebnis ein Fehler sein.

Verwandte Funktionen

FileGetAttrib, FileGetTime, FileSetAttrib

Beispiel

#include <FileConstants.au3>
#include <MsgBoxConstants.au3>
#include <WinAPIFiles.au3>

Example()

Func Example()
    ; Erstellt eine Konstante im lokalen Bereich des Dateipfads der gelesen bzw. geschrieben werden soll.
    Local Const $sFilePath = _WinAPI_GetTempFileName(@TempDir)

    ; Erstellt eine temporäre Datei von der Daten gelesen werden sollen.
    If Not FileWrite($sFilePath, "Dies ist ein Beispiel für die Verwendung von FileSetTime.") Then
        MsgBox($MB_SYSTEMMODAL, "", "Es ist während dem schreiben der temporären Datei ein Fehler aufgetreten.")
        Return False
    EndIf

    ; Setzt den modifizierten Zeitstempel der Datei auf den 1. November 2003 und die aktuelle Zeit.
    Local $iFileSetTime = FileSetTime($sFilePath, "20031101", $FT_MODIFIED)

    ; Zeigt den modifizierten Zeitstempel der Datei und gibt diesen im Format YYYYMMDDHHMMSS zurück.
    If $iFileSetTime Then
        MsgBox($MB_SYSTEMMODAL, "", "Zeitstempel:" & @CRLF & FileGetTime($sFilePath, $FT_MODIFIED, 1))
    Else
        MsgBox($MB_SYSTEMMODAL, "", "Es ist während dem setzen des Zeitstempels der Datei ein Fehler aufgetreten.")
    EndIf

    ; Löscht die temporäre Datei.
    FileDelete($sFilePath)
EndFunc   ;==>Example