第一步:遍历指定文件夹目录
第二步:获取文件夹创建时间和文件最后修改时间
第三步:计算两个日期相差天数
第四步:删除
//获取文件夹创建时间
SYSTEMTIME GetFolderCreateTime(CString sFolder)
{
SYSTEMTIME screatetime;
HANDLE hDir;
hDir = CreateFile(sFolder,GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_DELETE,NULL,
OPEN_EXISTING,FILE_FLAG_BACKUP_SEMANTICS,NULL);//打开现存目录 只读方式打开即可
FILETIME lpCreateTime,lpAccessTime,lpWriteTime;
if(GetFileTime(hDir,&lpCreateTime,&lpAccessTime,&lpWriteTime))
{
FILETIME fcreatetime;
FileTimeToLocalFileTime(&lpCreateTime,&fcreatetime);//转换为本地时间
FileTimeToSystemTime(&fcreatetime,&screatetime);//转换为系统时间
}
CloseHandle(hDir);//关闭文件句柄
return screatetime;
}
//获取文件最后修改日期
bool GetFileModifyDate(CString filePathName, SYSTEMTIME &modDate)
{
HANDLE hFile;
WIN32_FIND_DATA wfd;
SYSTEMTIME systime;
&n

本文介绍了一种批量清理指定文件夹内超过设定天数的文件和子文件夹的方法,通过获取文件创建时间和最后修改时间,计算与当前时间的差值,并进行删除操作。涉及文件时间戳转换、日期差计算及递归删除。
最低0.47元/天 解锁文章
3646





