2011-05-13 2 views
6

컴퓨터에 연결된 플래시 드라이브에서 볼륨 레이블을 변경하려는 작은 유틸리티로 작업하고 있습니다. 나는 DriveInfo가 그것을 할 능력이 있다는 것을 알고 있지만 그것을 달성하는 방법에 관해서는 손실에 처해있다. 누구든지 코드 샘플을 가지고 있다면 정말 고맙겠습니다.드라이브 설정 VolumeLabel

DriveInfo[] allDrives = DriveInfo.GetDrives(); 
foreach (DriveInfo d in allDrives) 
{ 
    if (d.IsReady && d.DriveType == DriveType.Removable) 
    { 
     //set volume label here 
    } 
} 
+1

* 모든 * 이동식 드라이브에 같은 볼륨 레이블을 설정하는 것은 사용자가 염두에 두어야 할 (할 수없는) 것이지 않습니다. 드라이브 데이터를 전혀 변경하지 마십시오. 사용자로부터 계속 진행하십시오. –

+0

"willy-nilly"는 실제로 사용자 (나)가 버튼을 눌러서 수행 될 것입니다. 그것은 수동으로 수백 번 그것을 할 필요가 없도록 드라이브의 이름을 변경하는 것을 자동화하는 것입니다. – Paxamime

답변

4

감사 제임스! 왜 이렇게 많은 문제가 있었는지 모르겠지만, 나에게 올바른 길로 가야합니다.

다음은 드라이브 레이블을 설정하는 마지막 코드입니다. 이를 사용하는 다른 사용자의 경우, 시스템에 연결된 모든 이동식 드라이브의 이름이 변경됩니다. 특정 드라이브 모델의 이름 만 변경해야하는 경우 WMI의 Win32_DiskDrive을 사용하여 범위를 좁힐 수 있습니다.

public void SetVolumeLabel(string newLabel) 
{ 
    DriveInfo[] allDrives = DriveInfo.GetDrives(); 
    foreach (DriveInfo d in allDrives) 
    { 
     if (d.IsReady && d.DriveType == DriveType.Removable) 
     { 
      d.VolumeLabel = newLabel; 
     } 
    } 
} 

public string VolumeLabel { get; set; } 

// Setting the drive name 
private void button1_Click(object sender, EventArgs e) 
{ 
    SetVolumeLabel("FlashDrive"); 
}