Bonjour à tous
Je vous explique mon problème.
Je dois développer une petite application qui doit rechercher dans des dossiers tous les dossiers d'une année (recherche en fonction du nom du dossier, par exemple 2004-02 ou 2006-12, et non pas sur l'année réelle de création ) et le copier sur un disque dur externe.
j'arrive à copier sans problème. le seul problème que j'ai est que je ne connais pas le nombre de sous dossiers à parcourir, donc je ne peux pas écrire le chemin en dur.
Je dois par exemple chercher dans toto/tata/plein de dossiers/2006-12.
J'arrive à chercher dans le premier dossier et ses sous dossiers, mais impossible pour moi de remonter au premier dossier pour chercher dans le second sous dossier...
je sais pas si c'est assez clair? Pouvez vous m'aider?
merci d'avance...
voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 Private Sub rechercheDossier(ByVal source As DirectoryInfo, ByVal dest As DirectoryInfo, ByVal Annee As String) ' source = adresse du dossier principal. dest adresse du HDD et Annee = annee contenu dans nom du dossier à copier. For Each subDirectory As DirectoryInfo In source.GetDirectories() If subDirectory.Name.Contains(Annee) Then CopyDossier(subDirectory, dest.CreateSubdirectory(subDirectory.Name)) 'appel de la fonction copie subDirectory.Delete(recursive:=True) Else rechercheDossier(New DirectoryInfo(dossier & "\" & subDirectory.Name), New DirectoryInfo(AdrHDD), Annee) 'rappel de cette même fonction pour chercher dans les sous dossiers dossier = dossier & "\" & subDirectory.Name 'redéfinition du chemin End If Next dossier = AdrPC 'on redéfini le chemin d'origine End Sub
Partager