2010-07-08 32 views
1

所以下面的代碼:vbscript中objLogicalDisk.DriveType的enum值是指什麼?

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'等)是指什麼?環顧四周,我覺得不同的答案,他們應該是在我的系統是什麼在互聯網上 - 根據互聯網:

未知= 0

可拆卸= 1「可移動介質

固定= 2」固定平臺(硬盤)

遠程= 3 '網絡驅動

CDROM = 4' CDROM

RAMDisk中= 5'RA M盤

根據我迄今收集的數據,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

乾杯 - 正是我所需要的。我應該多搜索一下! – simonalexander2005 2010-07-08 09:34:36

2

我發現這個職位尋找具有DriveType屬性工作的一些例子。我認爲還值得注意的是,OP在結果中遇到一些混淆的可能原因是因爲他混合並匹配來自不同界面的對象的使用。

他從使用FileSystemObject獲取驅動器對象列表開始,然後切換到WMI以從每個驅動器對象獲取他想要的屬性。 Drive對象的DriveType屬性值在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