반응형

[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;
}

728x90
반응형

'프로그래밍' 카테고리의 다른 글

[MFC] 폴더 삭제 및 이동  (0) 2018.10.18
[MFC] 프로그램 실행  (0) 2018.10.18
[MFC] 문자열 바꾸기  (0) 2018.10.18
[MFC] 프로그램 경로 / 파일 이름 등 Tip  (0) 2018.10.18