2010-12-16 1 views
1

Ainsi, par exemple, si j'ai le lecteur Z: NetworkDrive, qui correspond au dossier partagé sur un autre serveur, et je veux retourner volumelabel "NetworkDrive". Le code suivant semble fonctionner:comment obtenir Lecteur mappé réseau VolumeLabel en C#?

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

Mais il renvoie le nom du premier dossier partagé de la liste sur le serveur. Des idées, pourquoi cela est-il arrivé?

+0

question intéressante. "Lecteur réseau" n'est pas l'étiquette du lecteur. Windows Explorer affiche "Network Drive" comme type de lecteur. Dans une boîte de commande, la commande 'label z:' affiche l'étiquette du volume auquel le disque est connecté. – comecme

Répondre

0

Si je viens Code

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

Il me montre l'étiquette du volume de la part du réseau est activée. J'ai mon lecteur Z: connecté à un partage sur un ordinateur Windows XP et le partage est sur un lecteur au format NTFS. Si je supprime l'étiquette pour ce volume, le programme affichera une ligne vide.

Je ne sais pas quel devrait être le résultat attendu si le partage est sur une machine Linux. Je ne sais pas si Linux a quelque chose comme un label, mais je ne le pense pas.

0

Je ne suis pas tout à fait sûr que vous avez encore besoin d'informations, mais j'ai trouvé quelques réponses sur ce sujet: Get drive label in C#

Questions connexes