電腦配置:winxp 32位,administrator賬號。檔案系統:NTFS
除C盤外其他的幾個驅動器的檔案都能正常查找。
Sub WMITest()
Dim objWMIService As Object
Dim colFiles As Object
Dim objFile As Object
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
'獲取各驅動器根目錄的檔案
Set colFiles = objWMIService.ExecQuery("Select * from CIM_DataFile where path = '\\'")
For Each objFile In colFiles
Debug.Print objFile.Name '其中顯示了C盤根目錄下的11個檔案
Next
'獲取C盤所有檔案
Set colFiles = objWMIService.ExecQuery("Select * from CIM_DataFile where drive = 'C:'")
For Each objFile In colFiles
Debug.Print objFile.Name '只顯示了4個C盤的檔案,很奇怪
Next
Set objFile = Nothing
Set colFiles = Nothing
Set objWMIService = Nothing
End Sub
uj5u.com熱心網友回復:
試試fso,看看能不能得到全部:Sub Test()
Dim FSO As New FileSystemObject, bFile As File
For Each bFile In FSO.GetFolder("c:\").Files
Debug.Print bFile.Name
Next
End Sub
uj5u.com熱心網友回復:
FSO可以正常獲取。WMI用path作為搜索條件時也能正常獲取。但搜索條件一旦包含了"C:"就不能正常獲取了,比如:where name ='C:\\test\\1.doc'
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/102518.html
標籤:VB基礎類
上一篇:怎么用宏操作Execl,把Execl中第一個表中的選單批量鏈接到本Execl中的其他表
下一篇:有哪些影像處理控制元件?
