Copie d'un fichier dans plusieurs dossiers

Résolu
jth Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   -  
dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
Ma question est simple:
Dans un dossier nommé Vidéo j'ai 350 dossiers et un fichier "test.avi", je désirerai à l'aide d'un fichier batch copier le fichier test dans les 350 dossiers.
Si quelqu'un peut m'expliquer la marche à suivre, en admettant que ce soit possible, ça serai sympa.
Merci de votre aide

6 réponses

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    depuis la ligne de commande DOS
    for /d %a in (*.*) do @copy test.avi %a
    depuis un fichier .bat remplacer %a par %%a
    4
  2. jth Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   2
     
    J'ai essayé la commande dos dans fichier bat enregistré dans mon dossier Vidéo en modifiant comme indiqué "%%a" mais ça ne fonctionne pas ... dois-je modifier autre chose?
    Merci de votre aide
    2
    1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
       
      essayer ça
      @echo off
      for /d %%a in (*.*) do copy test.avi "%%a"
      0
  3. jth Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   2
     
    Merci de votre réponse, mais désolé je n'ai aucune connaissance en programmation et je ne sais pas comment utiliser votre aide...
    0
  4. jth Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   2
     
    Merci pour cette réponse, ça fonctionne avec le fichier bat, et ça va m'éviter un travail fastidieux de copie.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. nico_soul Messages postés 5 Statut Membre
     
    Bonjour,

    Sur la même base que cette (vieille) discussion:
    Je souhaite copier un dossier dans plusieurs répertoire mais pas tous! Par exemple le programme ne copierait que dans les dossier issus d'une liste préalablement créée (Excel, Word, Blocnote, autre???).

    Quel est alors la commande à intégrer pour que le programme lise cette liste et dispatch le dossier uniquement dans ces dossier listés?

    Merci pour votre aide :)
    0
    1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
       
      le fichier liste.txt contient la liste des destinations, 1 par ligne
      @echo off
      set nom=nom du fichier
      for /F "delims=" %%a in (liste.txt) do copy "%nom%" "%%a\%nom%"
      0
    2. nico_soul Messages postés 5 Statut Membre
       
      Merci beaucoup ça marche parfaitement!
      Par contre la liste doit obligatoirement être en ".txt" ? Car j'ai essayé avec un Excel et un word mais ça n'a pas fonctionné...

      Merci encore!
      0
    3. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
       
      oui, une boucle for ne peut lire que du texte
      0
    4. nico_soul Messages postés 5 Statut Membre
       
      ok merci.
      Heureusement que l'on peut exporter ce fichier txt d'Excel directement :)
      0
    5. nico_soul Messages postés 5 Statut Membre
       
      Bonjour,

      Quand j'exécute la copie multiple à partir de la liste et que le programme ne trouve pas les dossiers correspondants (erreur de frappe dans la liste, oubli ...) il y a un message dans la boite de dialogue m'en avertissant. Ma question est la suivante: est-t-53 possible de récupérer ce texte automatiquement et de le mettre dans un fichier texte (par exemple "Rapport") et de l'afficher automatiquement?
      Merci pour votre aide !
      0
  7. heyquem Messages postés 808 Statut Membre 131
     
    et en Python ?

    from os import walk
    from shutil import copy
    
    dn = 'I:\\Prov Python\\'
    
    for subdn in walk(dn).next()[1]:
        copy(dn + 'test.txt', dn + subdn)


    walk() est un générateur récursif de triplets (chemin du dossier, sous dossiers, fichiers)
    En appliquant next() on obtient le premier triplet. Pour obtenir la liste des sous-dossiers, il faut prendre à l'index 1.
    -1