Besoin d'un script

baaron Messages postés 8 Statut Membre -  
baaron Messages postés 8 Statut Membre -
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,
A voir également:

7 réponses

arth Messages postés 10414 Date d'inscription   Statut Contributeur Dernière intervention   1 293
 
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
baaron Messages postés 8 Statut Membre
 
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
arth Messages postés 10414 Date d'inscription   Statut Contributeur Dernière intervention   1 293
 
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
baaron Messages postés 8 Statut Membre
 
arth,
j'ai oublié de préciser que je suis dans un environnement win XP, aurait-tu l'équivalent pour windows?
Cdlt,
0

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

Posez votre question
Delaclya Messages postés 138 Statut Membre 22
 
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
arth Messages postés 10414 Date d'inscription   Statut Contributeur Dernière intervention   1 293
 
Ah merde pardon ^^ désolé :) j'ai pas encore fait :)
0
baaron Messages postés 8 Statut Membre
 
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