C#을 사용하여 드라이브 문자 (있는 경우) (예 : WORKMEMORYSTICK)에서 드라이브 문자 (예 : F : \)를 얻을 수있는 방법 Windows?드라이브의 전체 이름에서 드라이브 문자를 가져 오는 방법
다른 방법으로도 시작할 수 있습니다.
C#을 사용하여 드라이브 문자 (있는 경우) (예 : WORKMEMORYSTICK)에서 드라이브 문자 (예 : F : \)를 얻을 수있는 방법 Windows?드라이브의 전체 이름에서 드라이브 문자를 가져 오는 방법
다른 방법으로도 시작할 수 있습니다.
DriveInfo
클래스는 사용 가능한 모든 드라이브 (GetDrives
)를 가져 오는 방법을 제공하므로 주어진 문자열과 일치하는 문자열을 열거 할 수 있습니다.
DirectoryInfo root;
var drives = DriveInfo.GetDrives();
foreach (var drive in drives)
{
if (drive.VolumeLabel == label)
{
root = drive.RootDirectory;
break;
}
}
, 당신은 거 야한다는 점에서 잠재적 인 문제가 다음과 같은 뭔가가 당신을 얻을 수 있도록한다고 해당 레이블이있는 첫 번째 드라이브와 일치해야합니다. 따라서 시스템에서 필요하면 로직을 고려해야합니다 (단, 두 드라이브 중 어느 것이 원하는 드라이브가 아닌 고유 한 문자열을 기반으로하는지 확인) 추측보다 낫지 않거나 아래에서 언급 한 것처럼 사용자에게 이것이 무엇인지 의미하는 것을 묻습니다.
모든 드라이브를 순회하고 이름과 볼륨 레이블 properties of DriveInfo object을 확인할 수 있습니다.
코드 예제에 대한이 질문을 참조하십시오 (USB 드라이브 문자를 가져 오는 데 사용,하지만 당신은 쉽게 적응할 수) :
이미안 내가 당신에게 몇 가지 코드를 제공 할 수 없습니다,하지만 난에있어 Mac 지금 :)
그러나 하나 이상의 드라이브에 동일한 레이블이 있으면 어떻게됩니까? – abatishchev
그것은'GetPathRoot()'이하는 것이 아닙니다. OP는 볼륨 레이블에 해당하는 드라이브 문자를 찾는 것을 말합니다. – cdhowie
@cdhowie : 그냥 실현 ... 내 실수. –
그러나 하나 이상의 드라이브에 동일한 레이블이 있으면 어떻게됩니까? – abatishchev