C#
C# / 날짜 지난 모든 파일 삭제 / Delete file by date
캬옹냐옹
2023. 6. 1. 11:50
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