2010-07-08 5 views
1

donc le code suivant:A quoi servent les valeurs enum de objLogicalDisk.DriveType dans vbscript?

Dim objFSO : Set objFSO = CreateObject("Scripting.FileSystemObject") 
Dim colDrives : Set colDrives = objFSO.Drives 
Dim objWMIService : Set objWMIService = GetObject("winmgmts:") 
Dim objLogicalDisk 
Dim objDrive 

For Each objDrive in colDrives 
    Set objLogicalDisk = 
objWMIService.Get("Win32_LogicalDisk.DeviceID='" & objDrive.DriveLetter & ":'") 
    Log(objLogicalDisk.DriveType) 
Next 

est utilisé pour obtenir le type de chaque lecteur de disque sur un système. Ce que je veux savoir, c'est à quoi se réfèrent les nombres retournés ('3', '4', '5', etc.)? En regardant autour de l'Internet, je trouve des réponses différentes à ce qu'ils devraient être sur mon système - selon Internet:

Unknown = 0

amovible = 1 « support amovible

fixe = 2 » moyen fixe (disque dur)

distant = 3 'd'entraînement de réseau

CDROM = 4' CDROM

RAMDisk = 5 'RA M disque

et selon les données que j'ai rassemblées jusqu'à présent, 3 = mon lecteur C local, 5 = mon lecteur D (DVD) local, 4 = lecteurs réseau.

Si quelqu'un peut aider à éclaircir cette ambiguïté, ce serait génial :)

Répondre

1

La référence WMI officielle est dans le MSDN library.

Quant à votre question, la référence de classe Win32_LogicalDisk décrit les DriveType valeurs suivantes:

Value Meaning 
-------------------------- 
0  Unknown 
1  No Root Directory 
2  Removable Disk 
3  Local Disk 
4  Network Drive 
5  Compact Disc 
6  RAM Disk
+0

Acclamations - exactement ce dont j'avais besoin. J'aurais dû googler plus! – simonalexander2005

2

Je trouve ce poste à la recherche de quelques exemples de travail avec la propriété DriveType. Bien qu'Helen fournisse clairement la bonne réponse, je pensais qu'il valait aussi la peine de noter que le PO avait probablement rencontré une certaine confusion dans ses résultats parce qu'il mélangeait et faisait correspondre l'utilisation d'objets provenant de différentes interfaces.

Il a commencé par obtenir une liste d'objets de lecteur à l'aide de FileSystemObject, puis est passé à WMI pour obtenir les propriétés qu'il souhaitait pour chaque objet de lecteur. Les valeurs de propriété DriveType pour l'objet Drive sont différentes sous FileSystemObject qu'elles ne le sont sous WMI.

La référence similaire à ce que Helen fourni pour les choses WMI, mais pour les choses FileSystemObject est:

https://msdn.microsoft.com/en-us/library/aa243132(v=vs.60).aspx

Value Meaning 
-------------------------- 
0  Unknown 
1  Removable Disk 
2  Fixed Disk 
3  Network Drive 
4  Compact Disc 
5  RAM Disk 

Ses résultats auraient apparié ce qu'il attendait s'il avait tout gardé dans FileSystemObject, quelque chose comme:

Dim objFSO : Set objFSO = CreateObject("Scripting.FileSystemObject") 
Dim colDrives : Set colDrives = objFSO.Drives 
Dim objDrive 

For Each objDrive in colDrives 
    Wscript.Echo objDrive.DriveType 
Next 
Questions connexes