# Function Reference

# FileSetTime

Sets the timestamp of one of more files.

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

## Parameters

file pattern | The path of the file(s) to set, e.g. C:\*.au3, C:\Dir. (* and ? wildcards accepted - See Remarks)
time | The new time to set in the format "YYYYMMDDHHMMSS" (Year, month, day, hours (24hr clock), seconds). If the time is blank "" then the current time is used.
type | [optional] The timestamp to change: $FT_MODIFIED (0) = Last modified (default) $FT_CREATED (1) = Created $FT_ACCESSED (2) = Last accessed Constants are defined in FileConstants.au3
recurse | [optional] $FT_NONRECURSIVE (0) - no recursion (Default). $FT_RECURSIVE (1) - directories are recursed into. Constants are defined in FileConstants.au3

## Return Value

Success: | 1.
Failure: | 0 if error changing timestamp(s).

## Remarks

See FileFindFirstFile() for a discussion about wildcards.
Using a date earlier than 1980-01-01 will have no effect.
Trying to change a timestamp on read-only files will result in an error.

## Related

FileGetAttrib, FileGetTime, FileSetAttrib

## Example

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

    Example()

    Func Example()
        ; Create a constant variable in Local scope of the filepath that will be read/written to.
        Local Const $sFilePath = _WinAPI_GetTempFileName(@TempDir)

        ; Create a temporary file to read data from.
        If Not FileWrite($sFilePath, "This is an example of using FileSetTime.") Then
            MsgBox($MB_SYSTEMMODAL, "", "An error occurred whilst writing the temporary file.")
            Return False
        EndIf

        ; Set the modified timestamp of the file to 1st Nov 2003 and use the current time.
        Local $iFileSetTime = FileSetTime($sFilePath, "20031101", $FT_MODIFIED)

        ; Display the modified timestamp of the file and return as a string in the format YYYYMMDDHHMMSS.
        If $iFileSetTime Then
            MsgBox($MB_SYSTEMMODAL, "", "Timestamp:" & @CRLF & FileGetTime($sFilePath, $FT_MODIFIED, 1))
        Else
            MsgBox($MB_SYSTEMMODAL, "", "An error occurred whilst setting the timestamp of the file.")
        EndIf

        ; Delete the temporary file.
        FileDelete($sFilePath)
    EndFunc   ;==>Example