Besoin d'un script

Bonjour,
J'ai besoin d'un script permettant de parcourir une liste de répertoires afin d'y récupérer tous les fichiers d'une liste. Par exemple ma liste de fichier peut être la suivante:
fichier1
fichier2
fichier3
fichier4
fichier5.

Les répertoires peuvent être par exemple rep1 contenat fichier1 et fichier2; rep2 contenant fichier3 et fichier4; rep3 contenant fichier5.

Les fichiers recupérer peuvent être mis dans un répertoire rep4.

Je dois récuperer quelque 3000 fichiers dans une trentaite de répertoires, sans un tel script c'est le boulot de toute une journée.
Merci d'avance de votre aide.
Cdlt,
Configuration: Windows XP
Internet Explorer 6.0

7 réponses

  1. Bonjour,
    Delaclya je n'ai pas besoin de tous les fichiers de tous les repertoires, mais de seulement certains d'entre eux ayant tous des noms de même format mais éparpillés dans divers repertoires. Voici la description que j'avais donnée:
    Par exemple ma liste de fichier peut être la suivante:
    fichier1
    fichier2
    fichier3
    fichier4
    fichier5.

    Les répertoires peuvent être par exemple rep1 contenat fichier1 et fichier2; rep2 contenant fichier3 et fichier4; rep3 contenant fichier5.

    Les fichiers recupérer peuvent être mis dans un répertoire rep4.

    Cdlt,
    0
    1. Contributeur
      Ah merde pardon ^^ désolé :) j'ai pas encore fait :)
      0
      1. Bonsoir,

        Ouvrir une fenetre DOS puis tapper la commande suivante :

        cd c:\
        xcopy /s fich*.* c:\toto\*.*

        Cette commande copiera tous les fichiers commencant par fich dans le répertoire toto sous C;

        Cordialement

        Delaclya
        0
        1. arth,
          j'ai oublié de préciser que je suis dans un environnement win XP, aurait-tu l'équivalent pour windows?
          Cdlt,
          0
          1. Contributeur
            Voici mon script en sh :

            # recursivity.sh

            folder=$1

            function recursivity
            {
            if [ -e $folder ] && [ -d $folder ]
            then
            generate_files_list $folder
            else
            echo Mauvais paramétrage. Le paramètre doit être un dossier et exister.
            exit
            fi
            }

            function generate_files_list
            {
            path=$1
            cd $path
            liste=$(ls)
            for i in $liste
            do
            if [ -d $i ]
            then
            cd $i
            generate_files_list $(pwd)
            else
            //
            // C'est là ou il faut mettre l'action à effectuer sur le fichier trouvé
            //
            fi
            done
            cd ..
            }

            recursivity
            0
            1. Bonjour arth,
              les fichiers ont éffectivement des noms simulaires et les repertoires en question ne contiennent que ces genres de fichiers, ton script peut faire l'affaire, merci de me l'envoyer.
              Cdlt,
              0
              1. Contributeur
                J'ai des questions :
                ces fichiers ont des lettres en communs dans leur nom?
                est-ce qu'ils sont placés aléatoirement dans les dossiers ou sont-ils toujours à la même place?

                J'ai un scripts récursif ou il suffit juste de modifier l'action à effectuer dedans, je m'en sers pour parcourir les répertoires d'un serveur et afficher la liste de tous les fichiers, il est pit être pas bien programmé mais il a le mérite de tout me lister.
                Modifié je pense qu'il fera ton affaire.

                Mais ces fichiers il ne change jamais ? il n'y a que eux dans les répertyoires ou bien ils sont placés avec d'autres fichiers/dossiers ?

                Donne un peu plus d'infos sur la structure etc etc ;) Ca aodera pit etre à avancer :)

                Loup.
                0