#include #include void DisplayTimestamp(FILETIME ft, const char* label) { SYSTEMTIME st; FileTimeToSystemTime(&ft, &st); printf("%s: %02d/%02d/%d %02d:%02d:%02d\n", label, st.wMonth, st.wDay, st.wYear, st.wHour, st.wMinute, st.wSecond); } int main() { // フォルダのパスをワイド文字列に変換 const wchar_t* folderPath = L"C:\\Users\\SEEDAGX\\source\\repos\\FolderTimeStamp\\FolderTimeStamp\\test"; // フォルダの情報を格納する構造体 WIN32_FIND_DATA findFileData; // フォルダを開く HANDLE hFind = FindFirstFile(folderPath, &findFileData); if (hFind == INVALID_HANDLE_VALUE) { printf("Error opening folder.\n"); return 1; } // 作成日時、更新日時、アクセス日時を取得して表示 DisplayTimestamp(findFileData.ftCreationTime, "Creation Time"); DisplayTimestamp(findFileData.ftLastAccessTime, "Last Access Time"); DisplayTimestamp(findFileData.ftLastWriteTime, "Last Write Time"); // 新しいタイムスタンプを設定する SYSTEMTIME newTime; GetLocalTime(&newTime); SystemTimeToFileTime(&newTime, &findFileData.ftCreationTime); SystemTimeToFileTime(&newTime, &findFileData.ftLastAccessTime); SystemTimeToFileTime(&newTime, &findFileData.ftLastWriteTime); // 新しいタイムスタンプを表示 printf("\nNew Timestamps:\n"); DisplayTimestamp(findFileData.ftCreationTime, "Creation Time"); DisplayTimestamp(findFileData.ftLastAccessTime, "Last Access Time"); DisplayTimestamp(findFileData.ftLastWriteTime, "Last Write Time"); // フォルダを閉じる FindClose(hFind); return 0; }