Copier les répertoires d'un dossier dans plusieurs dossiers auto

Résolu
Sam 07 Messages postés 35 Statut Membre -  
baladur13 Messages postés 47348 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour à tous!!
Voila pour mon boulot, j'ai un dossier qui contient d'autres dossiers (contrat, fiche de paie, assurance etc....).
Et en fait je dois dupliquer ce même dossier dans différents dossier, correspondant aux membres du personnel.
J'aimerais créer un fichier .bat qui pourrait copier ce premier dossier dans chaque dossiers personne automatiquement, pour m'éviter de le faire manuellement, en ouvrant chaque dossier "personne" et le copier!!
J'espère avoir été assez clair et être dans la bonne section....
Si quelqu'un pouvait me faire ce fichier bat ou m'aider à le faire?? MERCI D'AVANCE

9 réponses

  1. juliencolin54 Messages postés 238 Statut Membre 55
     
    Bonjour,

    Tu as la commande xcopy qui permet de faire des copies.
    Elle est récursive avec l'option /E /I.
    Les fameux dossier "personne",sont-ils tous dans un même dossier qui les contient ?
    Ce que j'essaye de demander c'est en fait:
    Est ce que l'on peut se placer dans le dossier parent à tout les dossiers "personne", et faire une copie dans tout les dossiers enfants ?
    Si oui, alors tu peux le faire en suivant cet algo :
    FOR personne IN * {
    COPIE DOSSIER_A_COPIER personne/
    }

    Sinon, tu fait une liste des personnes, et tu itère sur cette liste plutôt que sur l'ensemble des dossiers.

    Cdlt,
    0
    1. Sam 07 Messages postés 35 Statut Membre
       
      Bonjour!

      je te remercie pour ta réponse!!
      alors effectivement je connais la commande xcopy
      et oui les dossiers "personnes" sont bien dans un même dossier^^

      j'aimerais donc appliquer en quelque sorte l'architecture du dossier (contrat, fiche de paie etc.....) à tous ces dossiers "personnes"??
      est ce possible?
      0
    2. Sam 07 Messages postés 35 Statut Membre
       
      Pour le moment, j'ai réussi a faire un .bat qui permet l'action suivante:
      copier les dossiers (contrat, fiche de paie) du dossier source dans le dossier destinataire "personne", voila ce que j'ai écris:

      xcopy c:structure c:personne /E /I

      cependant, j'aimerai que (c:structure) soit copier dans tous les dossiers contenus dans (c:personne) mais c'est la que je bloque....

      si tu peux m'aider à compléter mon fichier .bat!?

      merci d'avance!!
      0
  2. juliencolin54 Messages postés 238 Statut Membre 55
     
    Est-ce que ceci te convient ?

    for /d %%X in (C:\personne\*) do (
    xcopy "C:\structure" "%%X/" /E /I
    )
    pause

    0
  3. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  4. Sam 07 Messages postés 35 Statut Membre
     
    je dois placer le fichier .bat dans le dossier destinataire?
    je viens d'essayer mais rien ne se passe?
    0
  5. juliencolin54 Messages postés 238 Statut Membre 55
     
    Normalement tu mets le .bat ou tu veux car j'ai utilisé des chemins absolus.
    D'ailleurs, tu as vérifié qu'ils sont corrects ?
    0
  6. Sam 07 Messages postés 35 Statut Membre
     
    je suis novice....
    "chemins absolus"?? ça veut dire?
    je suis en réseau, si ça peut t'aider? mais tous les dossiers et documents se trouve sur mon poste (C:)....
    0
  7. Sam 07 Messages postés 35 Statut Membre
     
    voila les chemins que j'ai:
    C:\Users\GED-Sa\Desktop\personne
    C:\Users\GED-Sa\Desktop\structure

    quand je remplace par ces valeurs j'ai un message d'erreur dans la console??
    0
    1. Sam 07 Messages postés 35 Statut Membre
       
      je rajoute que les dossiers concernés par la copie sont tous vides pour le moment
      je les remplis ensuite par des fichiers pdf
      0
  8. juliencolin54 Messages postés 238 Statut Membre 55
     
    Pour la différence entre chemin relatif et absolu : https://www.alsacreations.com/astuce/lire/78-quelle-est-la-diffrence-entre-les-chemins-relatifs-et-absolus.html

    donc si maintenant tu vois c'est quoi le chemin absolu, dans mon code tu remplace CHEMIN_ABSOLU_DOSSIER_PERSONNE et CHEMIN_ABSOLU_DOSSIER_STRUCTURE
    for /d %%X in (CHEMIN_ABSOLU_DOSSIER_PERSONNE\personne\*) do (
    xcopy "CHEMIN_ABSOLU_DOSSIER_STRUCTURE\structure" "%%X/" /E /I
    )
    pause

    aussi, quel est le message d'erreur dans console ?
    -1
    1. Sam 07 Messages postés 35 Statut Membre
       
      Voila un print du message obtenu dans la console:
      http://img716.imageshack.us/img716/8092/jlrr.png
      0
    2. juliencolin54 Messages postés 238 Statut Membre 55
       
      Tu peux copier coller le script que tu as lancé pour obtenir ce résultat s'il te plaît ?
      0
    3. Sam 07 Messages postés 35 Statut Membre
       
      for /d %%X in (C:\Users\GED-Sa\Desktop\personne\*) do (
      xcopy "C:\Users\GED-Sa\Desktop\structure" "%%X/" /E /I
      )
      pause
      0
    4. Sam 07 Messages postés 35 Statut Membre
       
      En tout cas merci pour le temps que tu passe à essayer de résoudre mon petit prog!!
      je suis désolé mais je débute du coup je suis pas vraiment d'une grande aide...
      0
    5. juliencolin54 Messages postés 238 Statut Membre 55
       
      Il n'y a pas de soucis.
      C'est de ma faute désolé...
      for /d %%X in (C:\Users\GED-Sa\Desktop\personne\*) do (
      xcopy "C:\Users\GED-Sa\Desktop\structure" "%%X\" /E /I
      )
      pause
      C'est un
      %%X/
      au lieu de
      %%X\
      .

      Cordialement.
      0