ใช้ DirectoryInfo วนลูปลบ Files แล้วค่อยลบ Subdirectories (Recursive)
ตัวอย่างโค้ด
using System.IO;
namespace DemoApplication
{
class Program
{
static void Main()
{
DirectoryInfo di = new DirectoryInfo(@"D:\Demo");
foreach (DirectoryInfo dir in di.GetDirectories())
{
// ลบไฟล์ใน Subdirectory
foreach (FileInfo file in dir.GetFiles())
{
file.Delete();
}
// ลบ Subdirectory เอง (true = Recursive)
dir.Delete(true);
}
}
}
}
โครงสร้างก่อนลบ:


หลังรันโค้ด โฟลเดอร์ Demo จะว่างเปล่า:

วิธีลัด (One-liner)
// ลบทุกอย่างในโฟลเดอร์ รวมโฟลเดอร์ตัวเอง Directory.Delete(@"D:\Demo", true);
Directory.Delete(path, recursive: true) ลบโฟลเดอร์และเนื้อหาทั้งหมดทีเดียว