2016-10-13 10 views
-2

私は現在、すべての論理ドライブを取得する方法、1つを作成して破壊する方法を知っています。C#を使用して論理ドライブの名前を変更する方法は?

論理ドライブのラベルを変更する方法を知っておくことは非常に重要です。 ディスクラベルがNewDiskで、NewDisk内の特定のパスをマップする論理ディスクを作成したとします。次に、この論理ディスクの文字は、Mとしましょうが、そのラベルはNewDisk(「NewDisk(M :)」と表示されます)です。

どうすれば論理ドライブMのラベルを「NewDisk」以外のものに変更できますか?C#?

おかげ

+0

ディスクは*ラベルを持っている* ...正確には明らかではない、あなたは、「論理ドライブの名前を」何を意味するか...おそらく'subst'を使っていくつかのパスをフォルダにマップしました - あなたの投稿を編集してください(このようなマッピングはディスクではないので、独自のラベルはありません)... –

+1

"ディスク名がNewDisk NewDiskの特定のパスをマップする論理ディスクを作成しました」 - これは*仮想ドライブ*のように聞こえ、その名前は正確に変更できません。仮想ドライブをダブルクリックしてボリュームラベルを割り当てると、エラーが表示されます。ドライブを右クリックして名前を変更すると、ボリュームラベルのような名前が表示されますが、実際には現在のユーザーの下に作成されたレジストリキーです。 [this](https://en.wikipedia.org/wiki/SUBST#Custom_label)によれば、私はすべてのユーザーに向いていると仮定したラベルに対してHKLMを編集することができます。 – Quantic

+0

@Alexei Levenkov私はsubstを使ってこれを行う必要はありません。なぜなら、C#を使用している解決策があるからです(私の質問の最初の文で言及しています)。 LABELの代わりにNAMEという単語を使用した場合、「誤解を招く」と申し訳ありません。だから、あなたが言っていることから、論理ドライブのLABELを変更する方法はありませんか? –

答えて

0

おそらくあなたはDriveInfoクラスにVolumeLabelをしたい... DriveInfo Class at MSDNDriveInfo.GetDrives MSDN

+0

作成した仮想ドライブのDriveInfoインスタンスのVolumeLabelプロパティを設定しようとしましたが、IOExceptionがスローされました - "ディレクトリはルートディレクトリのサブディレクトリではありません。" –

+0

[MSDN](https://msdn.microsoft.com/en-us/library/ms832065.aspx)によれば、別のサブディレクトリを試す必要があります。これが仮想ドライブではうまく動作しないかどうかはわかりません。 –

関連する問題