C#에서 폴더(디렉터리)를 생성하려면 먼저 System.IO 네임스페이스를 프로젝트에 추가해야 합니다. 이 네임스페이스는 폴더를 생성, 복사, 이동, 삭제할 수 있는 정적 메서드들을 제공하는 라이브러리입니다.
또한 C#에서 파일이나 폴더 관련 작업을 수행하기 전에는 반드시 해당 디렉터리가 존재하는지 먼저 확인하는 것이 좋습니다. 대상 폴더가 존재하지 않으면 컴파일러가 예외(Exception)를 발생시키기 때문입니다.
기본 예제
using System;
using System.IO;
namespace DemoApplication {
class Program {
static void Main(string[] args) {
string folderName = @"D:\Demo Folder";
// 디렉터리가 존재하지 않으면 생성
if (!Directory.Exists(folderName)) {
Directory.CreateDirectory(folderName);
}
Console.ReadLine();
}
}
}위 코드를 실행하면 D 드라이브에 Demo Folder라는 이름의 폴더가 생성됩니다.

코드 설명
- Directory.Exists(): 지정한 경로에 폴더가 이미 존재하는지 확인합니다. 존재하면 true, 없으면 false를 반환합니다.
- Directory.CreateDirectory(): 지정한 경로에 새 폴더를 생성합니다. 참고로 이 메서드는 폴더가 이미 존재하더라도 예외를 발생시키지 않고 아무 작업도 수행하지 않으므로, 상황에 따라 Exists 검사를 생략할 수도 있습니다.
하위 폴더까지 한 번에 생성하기
Directory.CreateDirectory 메서드는 중간 경로의 폴더가 없어도 전체 경로를 한 번에 생성할 수 있으며, 이를 활용하면 하위 폴더(Sub Folder)도 손쉽게 만들 수 있습니다.
예제
using System;
using System.IO;
namespace DemoApplication {
class Program {
static void Main(string[] args) {
string folderName = @"D:\Demo Folder\Sub Folder";
// 디렉터리가 존재하지 않으면 생성
if (!Directory.Exists(folderName)) {
Directory.CreateDirectory(folderName);
}
Console.ReadLine();
}
}
}위 코드를 실행하면 D 드라이브에 Demo Folder와 그 안의 Sub Folder가 함께 생성됩니다.

정리
C#에서 폴더 생성은 System.IO 네임스페이스의 Directory 클래스만으로 간단히 처리할 수 있습니다. 특히 CreateDirectory 메서드는 존재하지 않는 상위 폴더까지 모두 자동으로 만들어 주기 때문에, 복잡한 경로 구조를 다룰 때도 유용하게 활용할 수 있습니다.