Bonsoir à tous,

Je dois réaliser un petit projet qui manipule des fichiers cependant je n'arrive pas à le terminer...

Je dispose de 3 dossiers :
- dossierBuild : dossier obtenu suite à une autre app
- dossierRef : dossier de référence
- dossierSortie : dossier à rendre

Le but étant d'avoir dans le dossierSortie la même composition que le dossierRef mais en copiant les fichiers du dossierBuild.

Comme ceci :
Nom : Capturedossierbuild.PNG
Affichages : 227
Taille : 15,2 KoNom : Capturedossierref.PNG
Affichages : 230
Taille : 20,1 KoNom : capturedossiersortie1vide.PNG
Affichages : 216
Taille : 7,2 KoNom : Capturedossiersortie2.PNG
Affichages : 233
Taille : 12,7 Ko

Donc j'arrive bien à copier les fichiers du dossierBuild du même nom que ceux du dossierRef

Cependant, je dois également copier les fichiers non présents dans le dossierBuild mais présents dans le dossierRef. En l’occurrence ici, les fichiers que je souhaiterai copier dans dossierSortie sont : CONFIG1, CONFIG2 et USER.

À savoir que je ne dois pas mettre les noms des fichiers en dur.

Ci-dessous 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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
static void Main(string[] args)
        {
            string refFolder = @"C:\Users\PC-Quentin\Desktop\dossierRef";
            string buildFolder = @"C:\Users\PC-Quentin\Desktop\dossierBuild";
            string outPath = @"C:\Users\PC-Quentin\Desktop\dossierSortie";
 
            try
            {
 
                //création  d'un dossier, s'il est deja present, on le delete
                DirectoryInfo dr = Directory.CreateDirectory(outPath);
 
                DirectoryInfo directoryTIAMP = new DirectoryInfo(outPath);
                FileInfo[] tiampFiles = directoryTIAMP.GetFiles();
 
                if (dr.Exists)
                {
                    foreach (FileInfo file in tiampFiles)
                    {
                        file.Delete();
                    }
                }
 
                DirectoryInfo directoryBuild = new DirectoryInfo(buildFolder);
                FileInfo[] filesBuild = directoryBuild.GetFiles();
 
                DirectoryInfo directoryRef = new DirectoryInfo(refFolder);
                FileInfo[] filesRef = directoryRef.GetFiles();
 
             //   List<FileInfo> files_NN = new List<FileInfo>();
 
                // on récupère les fichiers du même nom dans les dossiers Reference et Build puis on les copie dans un dossier Sortie
                foreach (FileInfo fileB in filesBuild)
                {
                    for (int i = 0; i < filesRef.Length; i++)
                    {
                        if (fileB.Name == filesRef[i].Name)
                        {
 
                            fileB.CopyTo(outPath + @"\" + fileB.Name);
                        }
 
 
                    }
                }
 
                //test
 
 
 
 
            }
 
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
J'ai tenté de modifier quelque chose dans mon foreach mais sans succès...

Merci d'avance pour votre aide !