您的位置:首页 > 其它

获取文件夹的信息(时间)

2016-01-26 13:41 176 查看
//#include <windows.h>
//#include <tchar.h>
//#include <stdio.h>
//#include<string>
#include <atlstr.h>

//创建时间、修改时间、访问时间
BOOL GetDirTime(CString DirName)
{
// 打开文件夹
HANDLE hDir = CreateFile ( DirName, GENERIC_READ, FILE_SHARE_READ|FILE_SHARE_DELETE, NULL, OPEN_EXISTING,
FILE_FLAG_BACKUP_SEMANTICS, NULL);

FILETIME lpCreationTime; // 文件夹的创建时间
FILETIME lpLastAccessTime; // 对文件夹的最近访问时间
FILETIME lpLastWriteTime; // 文件夹的最近修改时间

// 获取文件夹时间属性信息
if (GetFileTime(hDir, &lpCreationTime, &lpLastAccessTime, &lpLastWriteTime))
{
FILETIME fCreat;
FILETIME fAccess;
FILETIME fWrite;

//转换成本地时间
FileTimeToLocalFileTime(&lpCreationTime, &fCreat);
FileTimeToLocalFileTime(&lpLastWriteTime, &fAccess);
FileTimeToLocalFileTime(&lpLastAccessTime, &fWrite);

SYSTEMTIME sCreat;
SYSTEMTIME sAccess;
SYSTEMTIME sWrite;

//转换成系统时间
FileTimeToSystemTime(&fCreat, &sCreat);
FileTimeToSystemTime(&fAccess, &sAccess);
FileTimeToSystemTime(&fWrite, &sWrite);

printf("文件夹创建时间: %d年%d月%d日 %d:%d:%d\n",sCreat.wYear,sCreat.wMonth,sCreat.wDay,sCreat.wHour,sCreat.wMinute,sCreat.wSecond);
printf("文件夹最近访问时间: %d年%d月%d日 %d:%d:%d\n",sAccess.wYear, sAccess.wMonth, sAccess.wDay, sAccess.wHour,sAccess.wMinute,sAccess.wSecond);
printf("文件夹最近修改时间: %d年%d月%d日 %d:%d:%d\n",sWrite.wYear, sWrite.wMonth, sWrite.wDay, sWrite.wHour,sWrite.wMinute,sWrite.wSecond);
}
CloseHandle(hDir); // 关闭打开过的文件夹

return true;
}

int main(void)
{

//文件夹路径
CString DirPath = "C:\\Users\\Administrator\\Desktop\\测试文件夹";

if( GetDirTime(DirPath ) )
printf("Succeed!");
else
printf("false!");
//GetDirSize(DirPath);

getchar();
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: