C# 날짜별 이전의 폴더(파일) 삭제하는 방법



이번 포스팅에서는 간단히 C#에서 날짜별 이전의 폴더(파일)을 삭제하는 방법에 대한 소스코드를 공유하고자 합니다!


소스코드는 아래와 같습니다.


간단히, 삭제하고자 하는 경로를 설정해 해당 날짜를 비교하여 사용자가 삭제 주기를 설정해 주고 그 조건에 부합하는 폴더가 있으면 삭제하는 아주 간단한 소스코드 입니다!


파일을 지우고 싶으시면, DirectoryInfo대신에 FileInfo[] 를 사용하여 바꿔주기만 하면 되니까 응용하시는데에는 큰 무리는 없을 것 같습니다!!

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

using System;

using System.Collections.Generic;

using System.IO;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace Test

{

    class Program

    {

        static void Main(string[] args)

        {

            Console.WriteLine("해당 Directory 폴더 삭제 시작");

            deleteFolder(@"C:\Users\Desktop\folder");

            Console.WriteLine("해당 Directory 폴더 삭제 ");

        }

        private static void deleteFolder(string folderDir)

        {

            try

            {

                int deleteDay = 15;

                DirectoryInfo di = new DirectoryInfo(folderDir);

                if (di.Exists)

                {

                    DirectoryInfo[] dirInfo = di.GetDirectories();

                    string lDate = DateTime.Today.AddDays

(-deleteDay).ToString("yyyyMMdd");

                    foreach (DirectoryInfo dir in dirInfo)

                    {

                        if (lDate.CompareTo(dir.LastWriteTime.ToString("yyyyMMdd")) > 0)

                        {

                            // 폴더 속성이 읽기쓰기 설정에 따라 삭제가 안될  있음

                            // 때문에 미리 속성 Normal 설정

                            dir.Attributes = FileAttributes.Normal;

                            dir.Delete(true);

                        }

                    }

                }

            }

            catch (Exception) { }

        }

    }

}

 

Colored by Color Scripter

cs

 

728x90

이 글을 공유하기

댓글

Designed by JB FACTORY