728x90
string pathFolder = Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
+ @"\Test"; //파일 생성 경로

private void button4_Click(object sender, EventArgs e)
{
    deleteAllOldFiles(pathFolder, DateTime.Now.AddDays(-150).ToString("yyyyMMdd"));
}

public void deleteAllOldFiles(String dirPath, String strDate)
{
    DirectoryInfo dirInfo = new DirectoryInfo(dirPath);
    DateTime fileCompareTime;
    DateTime compareTime = DateTime.ParseExact(strDate, "yyyyMMdd", null);

    //경로 및 하위 경로 모든 파일 검색 및 기간 비교후 삭제
    foreach (FileInfo file in dirInfo.GetFiles("*", SearchOption.AllDirectories)) 
    {
        //fileCompareTime = file.CreationTime; //생성 시간
        fileCompareTime = file.LastWriteTime; //수정 시간

        Debug.WriteLine(fileCompareTime);
        Debug.WriteLine(compareTime);
        Debug.WriteLine((DateTime.Compare(compareTime, fileCompareTime)));

        //파일생성날짜가 strDate보다 이전이면 파일을 삭제한다.
        if (DateTime.Compare(compareTime, fileCompareTime) > 0)
        {
            Debug.WriteLine($"FileDelete: {file.FullName}");
            File.Delete(file.FullName);
        }
    }
}

경로 및 삭제 기간 정해주면 그 하위 폴더까지 검색해서 삭제 

 

아...잠온다.

728x90

+ Recent posts