2010-07-08 2 views
1

поэтому следующий код:Каковы значения enum objLogicalDisk.DriveType в 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 

используется, чтобы получить тип диска каждого диска на системе. Я хочу знать, что означают возвращаемые числа ('3', '4', '5' и т. Д.)? Глядя вокруг в Интернете я нахожу разные ответы на то, что они должны быть на моей системе - по интернету:

Unknown = 0

Съемные = 1 «Съемный носитель

Fixed = 2» Fixed среды (жесткий диск)

Remote = 3 'Сетевой диск

CDROM = 4' CDROM

RAMDisk = 5 'RA M disk

и согласно данным, которые я собрал до сих пор, 3 = мой локальный диск C, 5 = мой локальный диск D (DVD), 4 = сетевые диски.

Если кто-нибудь может помочь прояснить эту неопределенность, что было бы здорово :)

ответ

1

Официальный справочник WMI находится в MSDN library.

Что касается вашего вопроса, ссылка Win32_LogicalDisk класса описывает следующие DriveType значения:

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

Приветствия - именно то, что мне было нужно. Мне следовало бы больше поработать в googled! – simonalexander2005

2

Я нашел этот пост, глядя на некоторые примеры работы со свойством DriveType.

FWIW, в то время как Хелен четко дала правильный ответ, я подумал, что также стоит отметить, что вероятная причина, по которой ОП столкнулась с некоторой путаницей в его результатах, состоит в том, что он смешивал и сопоставлял использование объектов с разных интерфейсов.

Он начал с получения списка объектов диска с использованием FileSystemObject, но затем переключился на WMI, чтобы получить свойства, которые он хотел от каждого объекта диска. Значения свойств DriveType для объекта Drive различаются в FileSystemObject, чем в WMI.

Похожая ссылка на то, что Хелен предусмотрено вещи WMI, но и для вещей FileSystemObject является:

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 

Его результаты бы соответствовало тому, что он ожидал, что, если бы он держал все в FileSystemObject, что-то вроде:

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