ファイルのタイムスタンプを設定するには、SetFileTime関数を使います。対象がディレクトリの場合は、CreateFile関数でファイルハンドルを取得する際、引数のセキュリティ属性にFILE_FLAG_BACKUP_SEMANTICSを加える必要があります。例えば、次のようにします。
//--------------------------------------------------------------------------- bool __fastcall SetFileTimes(AnsiString AFilePath, const FILETIME* ACreationTime, const FILETIME* ALastWriteTime, const FILETIME* ALastAccessTime) { HANDLE fileHandle = CreateFile( AFilePath.c_str(), GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL | (DirectoryExists(AFilePath) ? | FILE_FLAG_BACKUP_SEMANTICS : 0), NULL); if(fileHandle == INVALID_HANDLE_VALUE) { return false; } try { if(!SetFileTime(fileHandle, ACreationTime, ALastAccessTime, ALastWriteTime)) { return false; } } __finally { CloseHandle(fileHandle); } return true; } //---------------------------------------------------------------------------FATファイルシステムでは、ディレクトリのタイムスタンプを変更することはできません。