''' <summary>
''' Scanne une arborescence a la recherche d'un fichier
''' </summary>
''' <param name="Repertoire">Dossier de depart</param>
''' <param name="FichierATrouver">Fichier (ou morceau de fichier) a chercher</param>
''' <auteur>LEVEUGLE Damien [elguevel]</auteur>
''' <remarks></remarks>
Private Sub ScanDossier(ByVal Repertoire As String, ByVal FichierATrouver As String)
Try
' Balaie les fichiers du dossier en cours
For Each Fichier As String In Directory.GetFiles(Repertoire)
Dim InformationFichier As New FileInfo(Fichier)
Try
' Utilisez cette ligne pour faire une recherche de fichier exacte
' If (InformationFichier.Name.Equals(FichierATrouver.Trim)) Then
' Sinon on cherche les fichiers contenant un morceau de la chaine "FichierATrouver"
If (InformationFichier.Name.Contains(FichierATrouver.Trim)) Then
MessageBox.Show(String.Format("Fichier {0} trouv dans {1}", InformationFichier.Name, InformationFichier.Directory), "Fichier trouve", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
Catch ex As Exception
' Si erreur fichier on ignore, on peut aussi gerer l'exception
End Try
Next
' Recursivite (on passe au dossier suivant)
Dim SousDossiers As String() = Directory.GetDirectories(Repertoire)
For Each Dossier As String In SousDossiers
Try
' On descend au niveau inferieure
ScanDossier(Dossier, FichierATrouver)
Catch ex As Exception
' Si dossier illisible on ignore, on peut aussi gerer l'exception
End Try
Next
' Fin Recursivite, on remonte au niveau superieure
Catch ex As Exception
Throw New Exception(String.Format("Erreur pendant le scan - Erreur : {0}", ex.Message))
End Try
End Sub