panorama12
Messages postés39Date d'inscriptionmardi 7 mars 2006StatutMembreDernière intervention21 juin 2006
-
8 avril 2006 à 10:14
panorama12
Messages postés39Date d'inscriptionmardi 7 mars 2006StatutMembreDernière intervention21 juin 2006
-
8 avril 2006 à 11:04
Bonjour.
Je voudrais utiliser Filesearch pour rechercher des fichiers sur le disque dur mais quand j'écris application, vb ne me propose pas Filesearch dans les méthodes disponibles.
Peut être qu'il faut ajouter un composant ou une DLL mais je ne sais pas lesquels...
Si quelqu'un peut m'aider...Merci d'avance
cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 201827 8 avril 2006 à 10:43
Bonjour,
Il y a plusieurs méthodes récursives.
Exemple avec FSO ' Ce script utilise une fonction récursive pour parcourir l'ensemble des repertoires du
' disque dur.
' Vous pouvez specifier le repertoire de recherche dans la variable path_start ci-dessous.
'
Option Explicit
Dim path_start, FileName
Dim Myfso, result
Set Myfso = CreateObject("Scripting.FileSystemObject")
path_start = "d:\test"
FileName = "*.*"
result = Find(path_start, InputBox("Entrez le nom du fichier à rechercher : ",,path_start & FileName))
MsgBox result
Function Find (strPath, strFileName)
Dim MyDir, MyFile, MySubDir
Dim strResult
'If strFileName = Empty Then Exit Function
'strFileName = Ucase(strFileName)
Set MyDir = Myfso.GetFolder(strPath)
For Each MyFile In MyDir.Files
strResult = strResult & strPath & "" & MyFile.Name & vbCrLf
Next
For Each MySubDir In MyDir.SubFolders
strResult = strResult & Find(strPath & "" & MySubDir.Name, strFileName)
Next
Find = strResult
End Function
Exemple avec WMI
Dim total
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\" & strComputer & "\root\cimv2")
Set colFiles = objWMIService.ExecQuery _("Select * from CIM_DataFile where FileName 'test' And Extension 'txt'")
For Each objFile in colFiles
resultat = resultat &vbCrLf & objFile.Name
Next
MsgBox resultat