Functions > FileDirDisk >


FileSetTime

Définit la date d'un ou plusieurs fichiers/dossiers.

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

Paramètres

file pattern Le chemin des fichier(s) à horodater, ex : C:\*.au3, C:\Dir. (Les caractères génériques * et ? sont acceptés - Voir Remarques)
time La nouvelle date et heure à définir au format "YYYYMMDDHHMMSS" (Année, mois, jour, heures (au format 24hr), minutes, secondes). Si la paramètre time est vide "" alors la date et l'heure courante sont utilisées.
type [optionnel] La date à modifier:
    $FT_MODIFIED (0) = Date de dernière modification (défaut)
    $FT_CREATED (1) = Date de création
    $FT_ACCESSED (2) = Date du dernier accès

Les constantes sont définies dans FileConstants.au3
recurse [optionnel]     $FT_NONRECURSIVE (0) - Pas de récursivité (par défaut).
    $FT_RECURSIVE (1) - Récursivité sur les répertoires.

Les constantes sont définies dans FileConstants.au3

Valeur de retour

Succès: Retourne 1.
Échec: Retourne 0 en cas d'erreur lors du changement de la date.

Remarque

Consultez FileFindFirstFile() pour des précisions sur les caractères génériques.

L'utilisation d'une date antérieure au 01/01/1980 n'aura aucun effet.
Le changement de la date d'un fichier en lecture seule provoquera une erreur.

En relation

FileGetAttrib, FileGetTime, FileSetAttrib

Exemple

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

Example()

Func Example()
    ; Crée une constante locale avec le chemin du fichier qui sera lu/écrit.
    Local Const $sFilePath = _WinAPI_GetTempFileName(@TempDir)

    ; Crée un fichier temporaire pour lire les données.
    If Not FileCreate($sFilePath, "Exemple d'utilisation de FileSetTime.") Then
        MsgBox($MB_SYSTEMMODAL, "", "Une erreur est survenue lors de l'écriture dans le fichier temporaire.")
        Return False
    Endif

    ; Définit la date de dernière modification du fichier au 1 novembre 2017 et utilise l'heure actuelle.
    Local $iFileSetTime = FileSetTime($sFilePath, "20171101", $FT_MODIFIED)

    ; Affiche l'horodatage de modification du fichier et retourne une chaîne au format AAAAMMJJHHMMSS.
    If $iFileSetTime Then
        MsgBox($MB_SYSTEMMODAL, "", "Timestamp:" & @CRLF & FileGetTime($sFilePath, $FT_MODIFIED, 1))
    Else
        MsgBox($MB_SYSTEMMODAL, "", "Une erreur est survenue lors de l'horodatage du fichier.")
    EndIf

    ; Supprime le fichier temporaire.
    FileDelete($sFilePath)
EndFunc   ;==>Example