IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Copier des dossiers


Sujet :

C#

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2011
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Copier des dossiers
    Bonjour à tous, Je me suis tout récemment initié au C#, et jusqu'à maintenant tout va bien. j'aurais simplement une question pour vous.

    lors de l'execution de mon programme de copie de fichier et de dossiers, j'ai pu remarquer que ma boucle telle que je l'ai conçue à une instance de trop pour la copie de mes fichier, ce qui provoque une perte de temps (et de memoire j'imagine), car il réessaie de copier tous les dits fichiers. Heureusement avec l'instruction try et catch, mon programme s'execute et copie tous les fichier sans(trop de) problème.

    après avoir pondéré sur le problème, j'ai eu l'idée de créer une variable globale qui porterais le nom: niveauDexecution qui augmenterait de 1 lorsque j'appelle ma copie de dossier et qui décrémenterait de un lorsque que le programme monte d'un niveau de récursion(car oui je l'ai programmé de façon récursive.)

    alors voici ma question: Est-ce que je fais bien de le faire de cette façon?

  2. #2
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Points : 3 102
    Points
    3 102
    Par défaut
    Bonjour.

    Difficile de te répondre comme ça. Il faudrait que tu nous montres un peu de code pour que nous puissions t'aiguiller.

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2011
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    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
    
    public static void copieDuDossier(string pathSource, string destination)
                    {
                        string[] fichierDuDirectory = Directory.GetFiles(pathSource);
                        string[] listeDesDirectory = Directory.GetDirectories(pathSource);
    
                       
                       for (int i = 0; i < fichierDuDirectory.Length; i++)
                            {
                                 for (int j = 0; j < listeDesDirectory.Length; j++)
                                    { 
                           
                           
    
                                        string destinationFinale = destination + getFilename(listeDesDirectory[j]); // on détermine la destination du/des fichiers
                                        string sourceSousDossier = pathSource + getFilename(listeDesDirectory[j]);
    
                                         if (!Directory.Exists(destinationFinale))
                                                {
    
                                                   Directory.CreateDirectory(destinationFinale);
                                                   
                                                 }
    
                                         niveauExecution += 1;
                                         copieDuDossier(sourceSousDossier, destinationFinale);
                                         niveauExecution -= 1; 
    
                                                  
     
                                     }
    
                              copieDufichier(pathSource, destination, fichierDuDirectory[i]);
                              fichierDuDirectory[i] = null;
    
                            }
    
    
                      }
    j'aurais du y penser La partie en gars est le sujet de mon interrogation, cependant, je n'ai pas encore écrit la validation du niveau d'execution. je aussi suis ouvert à tous vos commentaires qui ne s'adresseraient pas à ce problème.

  4. #4
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    salut

    je pense que tu devrais regarder ces 2 liens :

    Folder Copy

    Another Directory Copy

    Et comme mettait un gars en commentaire du second lien :

    The (static) method in the tile (Microsoft.VisualBasic.FileIO.FileSystem.CopyDirectory) does the same thing and optionally provides the Windows Copy File Dialog with it.
    Going to do something about this?
    Ca devrait résoudre ton "problème" (si il ne l'est pas déja)
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

Discussions similaires

  1. [Python 2.X] copier des fichiers de plusieurs dossiers vers un dossier unique
    Par gorin13 dans le forum Général Python
    Réponses: 4
    Dernier message: 23/04/2015, 12h03
  2. [Débutant] Copier des éléments vers un dossier
    Par hmoad dans le forum Développement Sharepoint
    Réponses: 1
    Dernier message: 01/08/2012, 13h33
  3. copier des fichiers dans un dossier
    Par identifiant_bidon dans le forum ANT
    Réponses: 3
    Dernier message: 25/05/2011, 15h40
  4. [Batch] Copier des dossiers partagés
    Par xav990 dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 22/02/2011, 10h01
  5. copier un dossier contenant des fichiers ouverts par d'autres application
    Par guefrachi dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 20/07/2010, 19h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo