4 pièce(s) jointe(s)
Manipulation de fichiers (app console C#)
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 :
Pièce jointe 292536Pièce jointe 292539Pièce jointe 292541Pièce jointe 292545
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:
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 !