2010-12-16 8 views
1

たとえば、私は別のサーバー上の共有フォルダにマップされたドライブZ:NetworkDriveがあり、volumelabel "NetworkDrive"を返したいとします。 C#でネットワークマップされたドライブVolumeLabelを取得するには?

foreach (DriveInfo drive in drives) 
      { 
       if (drive.DriveType == DriveType.Network) 
        mappedDrivesNames.Add(drive.VolumeLabel); 
      } 

しかし、それは、サーバー上のリストから最初の共有フォルダの名前を返します。次のコードは動作するようです。あらゆるアイデア、なぜこれが起こったのですか?

+0

興味深い質問。 「ネットワークドライブ」はドライブのラベルではありません。 Windowsエクスプローラは、ドライブの種類として「ネットワークドライブ」を表示します。コマンド・ボックスで、 'label z:'コマンドは、ドライブが接続されているボリュームの実際のラベルを表示します。 – comecme

答えて

0

ネットワーク共有がオンになっている私に、ボリュームのラベルを見せている私だけのコード

var drive = new DriveInfo("Z"); 
Console.WriteLine(drive.VolumeLabel); 

場合。私はドライブZを持っています:Windows XPコンピュータ上の共有に接続されていて、共有はNTFSフォーマットのドライブ上にあります。そのボリュームのラベルを削除すると、プログラムは空行を出力します。

共有がLinuxマシン上にある場合、予想される結果がどうなるかわかりません。 LinuxにLabelのようなものがあるのか​​どうか分かりませんが、私はそうは思わないのです。

0

私はあなたがまだ情報が必要かどうか、非常によくわかりませんが、私はこのスレッドではいくつかの答えを見つけました: Get drive label in C#

関連する問題