Option Explicit Const MyFile = "d:\readfile.txt" 'fichier source Const HARD_DISK = 3 Call ReadFile Function ReadFile() Dim objFso, objTextStream, strLine Set objFso = CreateObject("Scripting.FileSystemObject") 'Verif fichier source contenant les fichiers à rechercher If objFso.FileExists(MyFile) Then Set objTextStream = objFso.OpenTextFile(MyFile, 1) strLine = Split(objTextStream.ReadAll, vbCrLf) objTextStream.Close Set objTextStream = Nothing Call SearchFiles(strLine) End if Set objFso = Nothing End Function Function SearchFiles(argFile) Dim strComputer, objWMIService, objDisk, objFile, colDisks, colFiles Dim i, strList, strFile, strExt strComputer = "." For i=0 To UBound(argFile) If InStr(1, argFile(i),".") Then strFile = Left(argFile(i),Len(argFile(i))-Len(Mid(argFile(i), InStrRev(argFile(i), ".")))) strExt = Mid(argFile(i), InStrRev(argFile(i), ".") + 1) Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\" & strComputer & "\root\cimv2") Set colDisks = objWMIService.ExecQuery _ ("Select * from Win32_LogicalDisk Where DriveType = " & HARD_DISK & "") For Each objDisk in colDisks Set colFiles = objWMIService.ExecQuery _ ("Select * from CIM_DataFile where Drive = '" &_ objDisk.Name & "' And FileName='" & strFile & _ "' And Extension ='" & strExt & "'") For Each objFile in colFiles strList = strList & vbCrLf & objFile.Name Next Next Set colFiles = Nothing Set colDisks = Nothing Set objWMIService = Nothing End If Next MsgBox strList,,"Result" End Function
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question