Un pro en batch dans le coin ?
19 messages • Page 1 sur 2 • 1, 2
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
Un pro en batch dans le coin ?
Salut
Voila j'aimerais faire un truc assez simple en batch mais n'y connaissant rien pour ainsi dire ca devient très compliqué.
J'ai une structure de dossiers comme cela :
/dossieregenerale/
/dossier-avec-nom-aleatoire/pics/0001.jpg,0002.jpg,...,0016.jpg
/dossier-avec-nom-aleatoire/pics/0001.jpg,0002.jpg,...,0016.jpg
/dossier-avec-nom-aleatoire/pics/0001.jpg,0002.jpg,...,0016.jpg
Ce que j'aimerais faire c'est prendre "0001.jpg,0002.jpg,...,0016.jpg" de chaque dossier et les placer dans un dossier numéroté 000001,000002,000003,etc..
Ces dossiers numérotés ne sont pas crées et seraient crées à la volée.
Donc résumons : on prend les 16 jpg de chaque dossier "pics" on les copie, on créer un dossier numéroté (a un autre endroit du disque evidemment) et on colle les 16 jpg dedans et ainsi de suite pour tous les dossiers ...
Possible ou non ?
Merc a tous
Voila j'aimerais faire un truc assez simple en batch mais n'y connaissant rien pour ainsi dire ca devient très compliqué.
J'ai une structure de dossiers comme cela :
/dossieregenerale/
/dossier-avec-nom-aleatoire/pics/0001.jpg,0002.jpg,...,0016.jpg
/dossier-avec-nom-aleatoire/pics/0001.jpg,0002.jpg,...,0016.jpg
/dossier-avec-nom-aleatoire/pics/0001.jpg,0002.jpg,...,0016.jpg
Ce que j'aimerais faire c'est prendre "0001.jpg,0002.jpg,...,0016.jpg" de chaque dossier et les placer dans un dossier numéroté 000001,000002,000003,etc..
Ces dossiers numérotés ne sont pas crées et seraient crées à la volée.
Donc résumons : on prend les 16 jpg de chaque dossier "pics" on les copie, on créer un dossier numéroté (a un autre endroit du disque evidemment) et on colle les 16 jpg dedans et ainsi de suite pour tous les dossiers ...
Possible ou non ?
Merc a tous
- bozoleclown
- WRInaute passionné

- Messages: 893
- Inscription: Jeu Nov 24, 2005 19:08
tu peux poster là-bas
http://linuxfr.org/forums/26/index.html
on devrait te donner une réponse assez rapidement
http://linuxfr.org/forums/26/index.html
on devrait te donner une réponse assez rapidement
- pierre_jean
- WRInaute impliqué

- Messages: 339
- Inscription: Mer Avr 06, 2005 12:24
Re: Un pro en batch dans le coin ?
max6 a écrit:Salut
Voila j'aimerais faire un truc assez simple en batch mais n'y connaissant rien pour ainsi dire ca devient très compliqué.
je sais pas si j'ai bien compris mais voilà une base :
avec la struture suivante :
- Code: Tout sélectionner
/dossiergenerale/
/dossier-avec-nom-aleatoire/pics/0001.jpg
/dossier-avec-nom-aleatoire/pics/0002.jpg
/dossier-avec-nom-aleatoire/pics/0003.jpg
/dossier-avec-nom-aleatoire/pics/0004.jpg
/dossier-avec-nom-aleatoire/pics/0005.jpg
et le script :
- Code: Tout sélectionner
#!/bin/sh
find dossier-avec-nom-aleatoire/* -name "*.jpg" | cut -f3 -d '/' | cut -f1 -d '.' | while read nomfichier ;
do
mkdir dossiergenerale/00$nomfichier/
cp dossier-avec-nom-aleatoire/pics/$nomfichier.jpg dossiergenerale/00$nomfichier/$nomfichier.jpg
done
résultat :
- Code: Tout sélectionner
dossiergenerale/000001/0001.jpg
dossiergenerale/000002/0002.jpg
dossiergenerale/000003/0003.jpg
dossiergenerale/000004/0004.jpg
dossiergenerale/000005/0005.jpg
voila
Je comprend pas le find dossier-avec-nom-aleatoire/* -name , parcque si j'ai mis dossier-avec-nom-aleatoire c'est que c'est un dossier dont je ne connais pas le nom.
Si tu veux "dossier-avec-nom-aleatoire" peut avoir n'importe quel nom.
Par contre le résultat n'est pas celui la, en fait il faudrait les 16 jpg des des dossiers "pics" (il y a 16jpg dans chaque dossier pics) dans 1 seul dossier donc :
Si tu veux "dossier-avec-nom-aleatoire" peut avoir n'importe quel nom.
Par contre le résultat n'est pas celui la, en fait il faudrait les 16 jpg des des dossiers "pics" (il y a 16jpg dans chaque dossier pics) dans 1 seul dossier donc :
- Code: Tout sélectionner
dossiergenerale/000001/0001.jpg,0002.jpg,0003.jpg,etc..
dossiergenerale/000002/0001.jpg,0002.jpg,0003.jpg,etc..
dossiergenerale/000003/0001.jpg,0002.jpg,0003.jpg,etc..
dossiergenerale/000004/0001.jpg,0002.jpg,0003.jpg,etc..
dossiergenerale/000005/0001.jpg,0002.jpg,0003.jpg,etc..
- pierre_jean
- WRInaute impliqué

- Messages: 339
- Inscription: Mer Avr 06, 2005 12:24
max6 a écrit:Je comprend pas le find dossier-avec-nom-aleatoire/* -name , parcque si j'ai mis dossier-avec-nom-aleatoire c'est que c'est un dossier dont je ne connais pas le nom.
Si tu veux "dossier-avec-nom-aleatoire" peut avoir n'importe quel nom.
ok
donc avec la structure de fichiers suivante :
- Code: Tout sélectionner
www/dossiergeneral/
www/dossieratraiter/aaa1/pics/0001.jpg
www/dossieratraiter/aaa1/pics/0002.jpg
www/dossieratraiter/aaa1/pics/0003.jpg
www/dossieratraiter/bbb2/pics/0001.jpg
www/dossieratraiter/bbb2/pics/0002.jpg
www/dossieratraiter/bbb2/pics/0003.jpg
www/dossieratraiter/ccc3/pics/0001.jpg
www/dossieratraiter/ccc3/pics/0002.jpg
www/dossieratraiter/ccc3/pics/0003.jpg
avec le script suivant dans le dossier www/ :
- Code: Tout sélectionner
#!/bin/sh
find dossieratraiter/* -name "*.jpg" | cut -f2 -d '/' | uniq | while read nomdossier ;
do
cpt=`expr $cpt + 1`
# compter les dossiers pour faire un masque sur 6 chiffres
# test longueur de chaine 1 : donc nom dossier 000001
if [ ${#cpt} -eq 1 ];
then
cpt=00000$cpt
# test longueur de chaine 2 : donc nom dossier 000010
elif [ ${#cpt} -eq 2 ];
then
cpt=0000$cpt
# test longueur de chaine 3 : donc nom dossier 000100
elif [ ${#cpt} -eq 3 ];
then
cpt=000$cpt
# test longueur de chaine 4 : donc nom dossier 001000
elif [ ${#cpt} -eq 4 ];
then
cpt=00$cpt
# test longueur de chaine 5 : donc nom dossier 010000
elif [ ${#cpt} -eq 5 ];
then
cpt=0$cpt
# test longueur de chaine 6 : donc nom dossier 100000
elif [ ${#cpt} -eq 6 ];
then
cpt=$cpt
fi
nouveaudossier=$cpt
mkdir dossiergeneral/$nouveaudossier/
find dossieratraiter/$nomdossier/* -name "*.jpg" | cut -f4 -d '/' | cut -f1 -d '.' | while read nomfichier ;
do
cp dossieratraiter/$nomdossier/pics/$nomfichier.jpg dossiergeneral/$nouveaudossier/$nomfichier.jpg
done
done
résultat du script :
- Code: Tout sélectionner
www/dossiergeneral/000001/0001.jpg
www/dossiergeneral/000001/0002.jpg
www/dossiergeneral/000001/0003.jpg
www/dossiergeneral/000002/0001.jpg
www/dossiergeneral/000002/0002.jpg
www/dossiergeneral/000002/0003.jpg
www/dossiergeneral/000003/0001.jpg
www/dossiergeneral/000003/0002.jpg
www/dossiergeneral/000003/0003.jpg
Dans le script il y a un masque sur 6 chiffres comme tu l'as indiqué dans ton exemple.
Voila
Question peut etre idiote mais c'est du batch ca ?
Tu me parles de www/ , faut donc lancer ce script sous wamp ?
Et fi c'es une commande ?
Merci pour ta patiente ce script peut me faire économiser des journées de taf, j'ai des centaines de milliers de dossiers à traiter c'est pour ca que c'est sur 6 chiffres
Tu me parles de www/ , faut donc lancer ce script sous wamp ?
Et fi c'es une commande ?
- Code: Tout sélectionner
fi
nouveaudossier=$cpt
mkdir dossiergeneral/$nouveaudossier/
Merci pour ta patiente ce script peut me faire économiser des journées de taf, j'ai des centaines de milliers de dossiers à traiter c'est pour ca que c'est sur 6 chiffres
- pierre_jean
- WRInaute impliqué

- Messages: 339
- Inscription: Mer Avr 06, 2005 12:24
max6 a écrit:Question peut etre idiote mais c'est du batch ca ?
Tu me parles de www/ , faut donc lancer ce script sous wamp ?
Et fi c'es une commande ?
- Code: Tout sélectionner
fi
nouveaudossier=$cpt
mkdir dossiergeneral/$nouveaudossier/
Merci pour ta patiente ce script peut me faire économiser des journées de taf, j'ai des centaines de milliers de dossiers à traiter c'est pour ca que c'est sur 6 chiffres
www/ c'est un dossier quelconque ou tu met les script : dossier racine qui contient le dossieratraiter et le dossiergenerale
et fi c'est la fin d'un if
Bon alors voila ce que j'ai fais
J'ai un dossier "photos_all" dans lequel j'ai crée un mis ton script que j'ai appelé "script.bat". Ensuite j'ai crée deux dossiers, un qui s'appel "dossieratraiter" et un autre "dossiergeneral".
Dans "dossieratraiter" j'ai :
Mais quand je lance le script ca marche pas ...
J'ai un dossier "photos_all" dans lequel j'ai crée un mis ton script que j'ai appelé "script.bat". Ensuite j'ai crée deux dossiers, un qui s'appel "dossieratraiter" et un autre "dossiergeneral".
Dans "dossieratraiter" j'ai :
- Code: Tout sélectionner
/dossieratraiter/test1/pics/0001.jpg,...,0016.jpg
/test2/pics/0001.jpg,...,0016.jpg
/test3/pics/0001.jpg,...,0016.jpg
Mais quand je lance le script ca marche pas ...
19 messages • Page 1 sur 2 • 1, 2
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Blogger Pro devient gratuit
- Google indexe le Flash
- Yahoo Dance Décembre 2006
- Lancement de Spider Simulator
- Noms de domaine : Google se lance dans le marché
- Conférence sur le développement web (technologies Microsoft)
- Tutoriel URL Rewriting
- Des interfaces de recherches spéciales sur Google
- Google Earth v4 ajoute la dimension temporelle et bien d'autres fonctions
- 200 000 messages sur les forums Web Rank Info
- lancer des batch
- Scheduler de traitement batch
- Batch pour lancer un sript php
- Appel aux graphistes du coin
- Coin qui bouge et page tournante
- PHPers dans le coin? modif blogs
- Le coin philo : Google a t'il une ame
- Coin dépliant sur une pub Adsense: autorisé ?
- Pixels dans le coin supérieur gauche: GMail + Firefox
- weblog.pro SANS SITE sort premier pour 'weblog pro', pk ?
- Mon site n'apparait pas et une annonce "bon coin"
- référencement pro
- hebergeur pro
- Compte pro
- Conseils de pro ? ;-)
Consultez la description détaillée des produits ou services de Google suivants : Google SketchUp
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités




le forum