2013년 2월 1일 금요일

asp.net 일정기간 지난 디렉토리 삭제.

CreationTime 이란 값으로 가져온 걸 뿌려 봤더니, 2013-01-31 오후 3:11:42 << 이런 형식으로 나온다.

이걸 어떻게 비교 하나 검색해보니 아래와 같이 비교 하더라.

출처:http://stackoverflow.com/questions/2222348/how-to-delete-files-older-than-3-months-old-in-a-directory-using-net

http://msdn.microsoft.com/ko-kr/library/system.io.directoryinfo.aspx
            //string dirName = "c:\\Temp";            string dirName = "c:\\tmp";            // C: 루트 디렉토리 정보를 가져옴            DirectoryInfo dInfo = new DirectoryInfo(dirName);            // 하위 FileInfo(파일정보) 배열을 받아옴            FileInfo[] fInfoSub = dInfo.GetFiles();            // 하위 DirectoryInfo(디렉토리정보) 배열을 받아옴            DirectoryInfo[] dInfoSub = dInfo.GetDirectories();            Response.Write(dInfo.FullName);            Response.Write("<br/>");            Response.Write(dInfo.CreationTime);            Response.Write("<br/>");            //if (dInfo.CreationTime < DateTime.Now.AddMonths(-3))            if (dInfo.CreationTime < DateTime.Now.AddMilliseconds(-1))            {                Response.Write("3개월이 지난 디렉토리입니다.");                dInfo.Delete(true); /true 값을 주면 하위 디렉토리,파일까지 삭제.            }            else            {                Response.Write("3개월이 지나지 않은 디렉토리입니다.");            }

 



            //2개월 이상 디렉토리 삭제            DirectoryInfo dirTemp = new DirectoryInfo(realORtestDir);            foreach(DirectoryInfo dirs in dirTemp.GetDirectories())            {                if (dirs.CreationTime < DateTime.Now.AddMonths(-2))                {                    //Response.Write("2개월이 지난 디렉토리입니다.");                    //Response.Write(dirs.FullName);                    dirs.Delete(true);                }            }

댓글 없음:

댓글 쓰기