[MFC] 생성 일자 기준으로 폴더 삭제하기
파일 생성일자 기준으로 폴더나 파일을 삭제하는 함수입니다.
예를들어 매일 많이 누적되는 Log 파일들은 삭제하기 좋습니다.
없는 함수는 이전에 포스팅한 함수 참고해주세요.
BOOL RemoveDirByDay(CString szPath, int nDays)
{
CTime tCur, tTarget, tCreate;
CString szDir, szFilePath, szFileName;
CFileFind finder;
BOOL bRet = TRUE, bDel;
try
{
tCur = CTime::GetCurrentTime();
tTarget = tCur - CTimeSpan(nDays, 0, 0, 0); //일, 시, 분, 초
ProperPath(szPath); //이전 포스팅 참조;;
szDir.Format(_T("%s*.*"), szPath);
bRet = finder.FindFile(szDir);
while (bRet)
{
bRet = finder.FindNextFile();
if (finder.IsDirectory())
{
//폴더일 경우
if (finder.GetFileName() == L"." || finder.GetFileName() == L"..")
continue;
finder.GetCreationTime(tCreate);
if (tCreate >= tTarget)
continue;
szFileName = finder.GetFileName();
szFilePath = szPath + szFileName; //szFilePath = GetFolderPath(szDir) + szFileName;
RemoveDir(szFilePath); //이전 포스팅 참조;;
}
else
{
//파일일 경우
}
}
}
catch (...)
{
bRet = FALSE;
}
return bRet;
}
'프로그래밍' 카테고리의 다른 글
[MFC] 폴더 삭제 및 이동 (0) | 2018.10.18 |
---|---|
[MFC] 프로그램 실행 (0) | 2018.10.18 |
[MFC] 문자열 바꾸기 (0) | 2018.10.18 |
[MFC] 프로그램 경로 / 파일 이름 등 Tip (0) | 2018.10.18 |