C#을 사용하여 일정 기간 이전에 만들어진 로그 파일을 삭제하는 서비스를 만들어보았습니다.
- 삭제할 기준의 날짜를 설정한다.
- 해당 기준 이전의 파일이 txt파일 경우에 삭제한다.
1. C# 소스
try
{
// 제거할 날짜 범위 (15일)
byte Days = CAppConfig.cServiceInfo.MAX_STORAGE_DATE;
string deletePath = @"C:\\Logs\\";
DirectoryInfo di = new DirectoryInfo(deletePath);
if (di.Exists)
{
DirectoryInfo[] dirInfo = di.GetDirectories();
// 삭제 날짜 기준 -days(15일)
string IDate = DateTime.Today.AddDays(-Days).ToString("yyyyMMdd");
foreach (DirectoryInfo dir in dirInfo)
{
foreach (FileInfo file in dir.GetFiles())
{
// 확장자
if(file.Extension != ".txt")
{
continue;
}
// 해당 날짜 보다 작으면 삭제
if (IDate.CompareTo(file.LastWriteTime.ToString("yyyyMMdd")) > 0)
{
file.Delete();
logger.LogInformation($"[제거된 파일] {file.Name}");
}
}
logger.LogInformation($"{dir.Name} 디렉토리 완료");
}
}
}
'Language > C#' 카테고리의 다른 글
[C#] 데드락(Deadlock)과 예시 (1) | 2024.06.14 |
---|---|
[C#] 이진 탐색 (Binary search) vs 균형 이진 트리 (Balanced Binary Search Tree) 속도 비교 (0) | 2024.06.14 |
인터넷 또는 제한 영역에 있거나 파일에 웹 표시가 있으므로 처리할 수..... (1) | 2023.02.02 |