Comics 2 folder.jpg
Moderators: Stefan2, white, nsp
Comics 2 folder.jpg
bonjour, je cherche a faire une operation tres simple mais fastidieuse:
- explorer un tas de repertoire
- trouver le premier fichier jpg
- le dupliquer
- le renommer en folder.jpg
Avec éventuellement un travail de reduction de jpg, mais ce n'est pas le plus dur.
L'objectif est simple: mettre la couverture de bd scannées dans le repertoire.
- explorer un tas de repertoire
- trouver le premier fichier jpg
- le dupliquer
- le renommer en folder.jpg
Avec éventuellement un travail de reduction de jpg, mais ce n'est pas le plus dur.
L'objectif est simple: mettre la couverture de bd scannées dans le repertoire.
merci de l'info mais passer par l'automatisation des fenetres windows c'est beaucoup trop lourd.
Ainsi j'ai trouvé une solution en attendant:
-Creatuon de la liste de tous les fichier
-Isolation des premiers resultats par macro textpad
-mise en forme des resultat avce la commande copy dans un fichier .BAT
Ainsi j'ai trouvé une solution en attendant:
-Creatuon de la liste de tous les fichier
-Isolation des premiers resultats par macro textpad
-mise en forme des resultat avce la commande copy dans un fichier .BAT
- TieFighter
- Member
- Posts: 189
- Joined: 2007-12-03, 12:58 UTC
- Location: France
on peux aussi tout faire en DOS
à mettre dans un fichier .cmd
@echo off
REM prendre tout les répertoires et appeler SUITE1
for /F %%a in ('dir /AD /b') do CALL :SUITE1 %%a
REM sortir
goto :eof
:SUITE1
REM aller dans le répertoire
cd %1
REM chercher le premier fichier sans l'extention
for /F %%a in ('dir /o-n /b *.jpg') do for /F "delims=. tokens=1,2" %%b in ('echo %%a') do set fic=%%b
REM si on veut avec l'extention : for /F %%a in ('dir /o-n /b *.jpg') do set fic=%%a
REM faire le doublon
copy %fic%.jpg %fic%_doublon.jpg
REM renommer le répertoire
cd ..
ren %1 %fic%
à mettre dans un fichier .cmd
@echo off
REM prendre tout les répertoires et appeler SUITE1
for /F %%a in ('dir /AD /b') do CALL :SUITE1 %%a
REM sortir
goto :eof
:SUITE1
REM aller dans le répertoire
cd %1
REM chercher le premier fichier sans l'extention
for /F %%a in ('dir /o-n /b *.jpg') do for /F "delims=. tokens=1,2" %%b in ('echo %%a') do set fic=%%b
REM si on veut avec l'extention : for /F %%a in ('dir /o-n /b *.jpg') do set fic=%%a
REM faire le doublon
copy %fic%.jpg %fic%_doublon.jpg
REM renommer le répertoire
cd ..
ren %1 %fic%
je te remercie c'est un fantastique bout de code !
je n'ai pas compris cependnat pour quelel raison tu voulais renommer les repertoires ni creer des doublons, je souhaite purement et simplement installer les folder.jpg de chaque repertoire.
Voici donc ton code modifié (et donc simplifié) pour cette tache.
Il reste cependant un grave probleme ... ton code n'arrive à aller que dan sdes repertoires avec des noms sans espaces... c'est tres limité ! on peut reparer ca ?
je n'ai pas compris cependnat pour quelel raison tu voulais renommer les repertoires ni creer des doublons, je souhaite purement et simplement installer les folder.jpg de chaque repertoire.
Voici donc ton code modifié (et donc simplifié) pour cette tache.
Il reste cependant un grave probleme ... ton code n'arrive à aller que dan sdes repertoires avec des noms sans espaces... c'est tres limité ! on peut reparer ca ?
Code: Select all
@echo off
REM prendre tout les répertoires et appeler SUITE1
for /F %%a in ('dir /AD /b') do CALL :SUITE1 %%a
REM sortir
goto :eof
:SUITE1
REM aller dans le répertoire
cd %1
REM chercher le premier fichier sans l'extention
for /F %%a in ('dir /o-n /b *.jpg') do set fic=%%a
REM si on veut avec l'extention :
REM faire le doublon
copy %fic% folder.jpg
- TieFighter
- Member
- Posts: 189
- Joined: 2007-12-03, 12:58 UTC
- Location: France
De ta question :
Pour les noms long il suffit de rajouter la variable entre double quote par contre l'espace est le séparateur naturel de la commande for. Il faut donc rajouter "tokens=*" pour lui dire de prendre tous les morceaux en une variable.
J'espère avoir répondu à ta demande.
J'avais mal compris. j'ai pris folder au pied de la lettre d'où mon erreur.- trouver le premier fichier jpg
- le dupliquer
- le renommer en folder.jpg
Pour les noms long il suffit de rajouter la variable entre double quote par contre l'espace est le séparateur naturel de la commande for. Il faut donc rajouter "tokens=*" pour lui dire de prendre tous les morceaux en une variable.
Code: Select all
@echo off
REM prendre tout les répertoires et appeler SUITE1
for /F "tokens=*" %%a in ('dir /AD /b') do CALL :SUITE1 "%%a"
REM sortir
goto :eof
:SUITE1
REM aller dans le répertoire
REM NB si le répertoire s'appelle 'REP 1' %1 contiendra "REP 1" donc plus besion de mettre les " après
cd %1
REM chercher le premier fichier sans l'extention
for /F "tokens=*" %%a in ('dir /o-n /b *.jpg') do set fic="%%a"
REM faire le doublon
REM NB comme précédemment si le fichier s'appelle 'FIC 1' %fic% contiendra "FIC 1" donc plus besion de mettre les " après
copy %fic% folder.jpg
- TieFighter
- Member
- Posts: 189
- Joined: 2007-12-03, 12:58 UTC
- Location: France
Oups!! J'ai coupé la dernière ligne, il manque cd ..
Voici la bonne version avec mes excuses

Voici la bonne version avec mes excuses
Code: Select all
@echo off
REM prendre tout les répertoires et appeler SUITE1
for /F "tokens=*" %%a in ('dir /AD /b') do CALL :SUITE1 "%%a"
REM sortir
goto :eof
:SUITE1
REM aller dans le répertoire
REM NB si le répertoire s'appelle 'REP 1' %1 contiendra "REP 1" donc plus besion de mettre les " après
cd %1
REM chercher le premier fichier sans l'extention
for /F "tokens=*" %%a in ('dir /o-n /b *.jpg') do set fic="%%a"
REM faire le doublon
REM NB comme précédemment si le fichier s'appelle 'FIC 1' %fic% contiendra "FIC 1" donc plus besion de mettre les " après
copy %fic% folder.jpg
REM J'avais coupé cette ligne pour revenir au répertoire
cd ..
Magnifique, vraiment :
Image: http://img413.imageshack.us/img413/8933/comics2folderzo5.jpg
Image: http://img413.imageshack.us/img413/8933/comics2folderzo5.jpg
- TieFighter
- Member
- Posts: 189
- Joined: 2007-12-03, 12:58 UTC
- Location: France
Pour parcourir une arborescence, il suffit de rajouter de la recursivitéNiquel !!!! ca semble fonctionner parfaitement ! par contre il ne remonte pas dans l'arborescence, mais c deja enorme pour les BDs et les albums MP3s en masse
Code: Select all
@echo off
REM prendre tout les répertoires et appeler SUITE1
for /F "tokens=*" %%a in ('dir /AD /b') do CALL :SUITE1 "%%a"
REM sortir
goto :eof
:SUITE1
REM aller dans le répertoire
REM NB si le répertoire s'appelle 'REP 1' %1 contiendra "REP 1" donc plus besion de mettre les " après
cd %1
Code: Select all
REM prendre tout les répertoires et appeler SUITE1
for /F "tokens=*" %%a in ('dir /AD /b') do CALL :SUITE1 "%%a"
Code: Select all
REM chercher le premier fichier sans l'extention
for /F "tokens=*" %%a in ('dir /o-n /b *.jpg') do set fic="%%a"
REM faire le doublon
REM NB comme précédemment si le fichier s'appelle 'FIC 1' %fic% contiendra "FIC 1" donc plus besion de mettre les " après
copy %fic% folder.jpg
cd ..

expl :
REP 1
|---REP2
|---REP3
| |---REP4
|---REP5
Impressionant ! ca fonctionne parfaitement bien, voici le meme code remis en forme avec un titre:
Code: Select all
@echo off
echo COMICS2FOLDER 1.0 par TieFighter 18dec07
echo Copier le premier JPG de chaque repertoire dans un fichier FOLDER.JPG
REM prendre tout les répertoires et appeler SUITE1
for /F "tokens=*" %%a in ('dir /AD /b') do CALL :SUITE1 "%%a"
REM sortir
goto :eof
:SUITE1
REM aller dans le répertoire
REM NB si le répertoire s'appelle 'REP 1' %1 contiendra "REP 1" donc plus besion de mettre les " après
cd %1
REM prendre tout les répertoires et appeler SUITE1
for /F "tokens=*" %%a in ('dir /AD /b') do CALL :SUITE1 "%%a"
REM chercher le premier fichier avec l'extention JPG
for /F "tokens=*" %%a in ('dir /o-n /b *.jpg') do set fic="%%a"
REM faire le doublon
REM NB comme précédemment si le fichier s'appelle 'FIC 1' %fic% contiendra "FIC 1" donc plus besion de mettre les " après
copy %fic% folder.jpg
cd ..