7

コンピューターに接続されているフラッシュ ドライブのボリューム ラベルを変更したい小さなユーティリティに取り組んでいます。DriveInfo がそれを実行できることは知っていますが、それを達成する方法について途方に暮れています。誰かがコードサンプルを持っていれば、本当に感謝しています。
これが私が現在持っているものです:

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

2 に答える 2

5

ありがとうジェームズ!なぜこれで多くの問題が発生したのかわかりませんが、あなたは私を正しい道に導いてくれました.

ドライブ ラベルを設定する最終的なコードを次に示します。これを使用する他の人にとっては、システムに接続されているすべてのリムーバブル ドライブの名前が変更されます。特定のドライブ モデルの名前のみを変更する必要がある場合は、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");
}
于 2011-05-16T20:04:22.743 に答える
2

DriveInfo.VolumeLabel を試しましたか?

http://msdn.microsoft.com/en-us/library/system.io.driveinfo.volumelabel.aspx

于 2011-05-13T22:57:04.337 に答える