Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C#에서 시스템의 모든 드라이브 목록 가져오기

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 속성을 먼저 확인해야 예외 없이 안전하게 처리할 수 있습니다.