본문 바로가기
.NET

C# 선택한 폴더 안의 파일 및 폴더 삭제 방법

by leo21c 2025. 5. 13.

1. 선택한 폴더 안의 파일을 검색해서 삭제 후 폴더 삭제 방법

using System;
using System.IO;

class Program
{
    static void Main()
    {
        string targetFolder = @"C:\ExampleFolder";

        if (Directory.Exists(targetFolder))
        {
            // 폴더 내 파일 삭제
            foreach (string file in Directory.GetFiles(targetFolder))
            {
                File.Delete(file);
                Console.WriteLine($"파일 삭제됨: {file}");
            }

            // 폴더 내 하위 폴더 삭제
            foreach (string subDirectory in Directory.GetDirectories(targetFolder))
            {
                Directory.Delete(subDirectory, true);
                Console.WriteLine($"하위 폴더 삭제됨: {subDirectory}");
            }

            // 최종 폴더 삭제
            Directory.Delete(targetFolder);
            Console.WriteLine($"폴더 삭제됨: {targetFolder}");
        }
        else
        {
            Console.WriteLine("폴더가 존재하지 않습니다.");
        }
    }
}

 

🔹 설명
- Directory.GetFiles(targetFolder): 해당 폴더 내 파일 목록을 가져옵니다.
- File.Delete(file): 각 파일을 삭제합니다.
- Directory.GetDirectories(targetFolder): 하위 폴더 목록을 가져옵니다.
- Directory.Delete(subDirectory, true): 하위 폴더 및 내부 파일을 모두 삭제합니다.
- Directory.Delete(targetFolder): 마지막으로 폴더 자체를 삭제합니다.

 

2. Directory 클래스 사용 방법

string targetFolder = @"C:\ExampleFolder";

if (Directory.Exists(targetFolder))
{
    Directory.Delete(targetFolder, true); // true 옵션을 사용하면 내부 파일 및 폴더도 삭제됨
    Console.WriteLine($"폴더 및 내부 파일 삭제됨: {targetFolder}");
}
else
{
    Console.WriteLine("폴더가 존재하지 않습니다.");
}

 

 

✨ 결론
파일과 폴더를 개별적으로 삭제하려면 첫 번째 방법을 사용하세요.
전체 폴더를 한 번에 삭제하려면 Directory.Delete(path, true)를 사용하세요.

LIST