C#에서는 DriveInfo 클래스를 활용하면 시스템에 연결된 모든 드라이브의 정보를 손쉽게 조회할 수 있습니다. 핵심은 정적 메서드인 GetDrives()를 사용하는 것입니다.
1. GetDrives()로 드라이브 목록 가져오기
먼저 GetDrives() 메서드를 호출하여 시스템의 모든 드라이브 배열을 반환받습니다.
var drv = DriveInfo.GetDrives();
반환된 배열에는 각 드라이브의 이름, 종류, 여유 공간 등 다양한 정보가 담겨 있습니다.
2. foreach 루프로 드라이브 이름 출력하기
가져온 드라이브 목록을 반복문으로 순회하면서 각 드라이브의 이름을 콘솔에 출력합니다.
foreach (DriveInfo dInfo in drv) {
Console.WriteLine(dInfo.Name);
}전체 예제 코드
지금까지의 내용을 하나로 합친 완전한 코드는 다음과 같습니다.
using System;
using System.Linq;
using System.IO;
public class Demo {
public static void Main() {
var drv = DriveInfo.GetDrives();
foreach (DriveInfo dInfo in drv) {
Console.WriteLine(dInfo.Name);
}
}
}실행 결과
Linux 환경에서 실행했을 때의 출력 결과입니다.
/etc/resolv.conf /etc/hostname /etc/hosts /run/secrets /home/cg/root
참고: 실행 결과는 운영체제에 따라 달라집니다. 위 출력은 Linux 환경에서 확인된 결과입니다.
Windows 운영체제에서 실행하면 다음과 같이 드라이브 문자 형태로 출력됩니다.
C:\ D:\ E:\
추가 팁: 드라이브 상세 정보 조회하기
단순히 이름만 출력하는 것을 넘어, DriveInfo 객체에서 제공하는 속성을 활용하면 더 유용한 정보를 얻을 수 있습니다.
- dInfo.DriveType: 고정 디스크, CD-ROM, 네트워크 드라이브 등 드라이브 종류 확인
- dInfo.TotalSize: 드라이브의 전체 용량(바이트 단위)
- dInfo.AvailableFreeSpace: 실제 사용 가능한 여유 공간
- dInfo.IsReady: 드라이브가 준비 상태인지 여부 (CD/DVD 드라이브처럼 미디어가 없으면 false)
특히 이동식 미디어나 네트워크 드라이브를 다룰 때는 IsReady 속성을 먼저 확인해야 예외 없이 안전하게 처리할 수 있습니다.