상세 컨텐츠

본문 제목

[.NET] 일정 시간이 지난 파일 삭제

.NET

by 코딩하는 박줄기 2022. 9. 22. 23:35

본문

728x90
반응형

DirectoryInfo 디렉터리 복사, 이동, 이름 바꾸기, 만들기 및 삭제와 같은 일반적인 작업에 클래스를 사용합니다.

DirectoryInfo 클래스를 활용하여 폴더 안 일정 시간이 지난 파일을 삭제해보겠습니다

 

 *Visual Studio 2022, .NET 6.0, console Project

DirectoryInfo target = new DirectoryInfo(@"C:\target");
DelFile(target);

void DelFile(DirectoryInfo di)
{
    try
    {
        //타겟 경로에 파일들이 존재한다면
        if (di.Exists)
        {
            FileInfo[] files = di.GetFiles();
            //1주일 된 파일 지우기 날짜 초기화
            DateTime date = DateTime.Now.AddDays(-7);

            foreach (FileInfo file in files)
            {
                //파일의 마지막 쓰여진 시간과 date 날짜와 비교
                if (DateTime.Compare(date, file.LastWriteTime) > 0)
                {
                    //만약 마지막으로 쓰여진 시간이 1주일 지난 파일들이라면 
                    //확장자가 .txt인 파일들 지워라
                    if (System.Text.RegularExpressions.Regex.IsMatch(file.Name, ".txt"))
                    {
                        File.Delete(di + "\\" + file.Name);
                        Console.WriteLine($"{file.Name} 파일 삭제 완료");
                    }
                }
            }
        }
    }
    catch (Exception ex)
    {
        Console.WriteLine($"[DelFile] {ex.ToString()}");
    }
}

 

참고

 

728x90
반응형

관련글 더보기

댓글 영역