Page 1 sur 1
[RESOLU] problème inconnu sur mon script
Posté : 20 juin 2011 17:19
par iliko
Bonjour à tous,
Je souhaiterais copier tous les fichiers photos (qui sont donc en *.jpg) qui sont situés dans des sous-répertoires d'un répertoire vers un dossier (mettons C:\script-photos-tmp\) mais je m'embrouille...
J'ai fait ce script pour l'instant :
set /p rep= quel est le premier repertoire des photos?
mkdir C:\script-photos-tmp\
FOR /D %F in (%rep%\*) DO copy "%F\*.*" "C:\script-photos-tmp\"
pause
Mais celui ne fonctionne pas, en effet il se ferme à l'avant dernière ligne et je ne comprends pas pourquoi alors que quand je lance cette ligne en CMD normal en remplaçant %rep% par le chemin souhaité cela fonctionne !
Auriez-vous des idés / solutions ?
Merci d'avance

Re: problème inconnu sur mon script
Posté : 20 juin 2011 18:25
par WIN32-[GG]
Bonjour et binvenue
Je crois avoir la solution:
Code : Tout sélectionner
@echo off
set /p rep=Quel est le premier repertoir des photos? :
cd /D %rep%
if not %ERRORLEVEL%==0 (
echo Le repertoire %rep% n'existe pas
pause>nul&exit
)
md C:\script-photos-tmp\
for /f %%a in ('dir /S /B *.jpg') do copy /N /Y "%%a" "C:\script-photos-tmp" >nul &echo Copie de %%a
echo Copie terminee
pause
Re: problème inconnu sur mon script
Posté : 20 juin 2011 18:40
par iliko
Merci beaucoup à toi WIN32-[GG], je n'aurais pas réussi sans ton aide

!
Par contre je n'est pas tout compris dans le batch ( je suis un débutant dans le domaine

), a quoi sert le "pause>nul&exit" ? merci
Et je viens de remarquer autre chose : dans mes sous-répertoires, il y a des fichiers qui ont le même nom, aurais-tu une idée pour les renommer aléatoirement avant de les mettre dans le dossier ?
Merci encore pour ton aide

Re: problème inconnu sur mon script
Posté : 20 juin 2011 18:46
par WIN32-[GG]
Je t'en prie

et puis, on ne reste pas débutant très longtemps
Le pause>nul&exit on peut aussi l'écrire:
pause>nul
exit
Le & servant à exécuter plusieurs commandes sur une même ligne,
"pause" affiche "Appuyez sur une touche pour continuer..." le >nul redirige ce texte vers le fichier nul (qui est automatiquement effacé ou quelquechose comme ça, d'ailleurs tu ne peux pas creer un fichier qui s'appelle "nul")
La console reste vide
Le exit est, je pense assez explicite...
Les renomer aléatoirement...
Laisse moi deux minutes.
Re: problème inconnu sur mon script
Posté : 20 juin 2011 18:53
par iliko
Merci beaucoup pour les informations , j'utiliserais désormais pause>nul au lieu de pause simple
C'est sympa à toi de m'aider comme ça

je vais essayer de trouver de mon côté mais je doute du résultat ^^
Re: problème inconnu sur mon script
Posté : 20 juin 2011 19:24
par WIN32-[GG]
Bon voilà,

j'ai fait de mon mieux mais je suis pas sur à 100 %, tu pourais vérifier si cela correspond à tes attentes
Code : Tout sélectionner
@echo off
set /p rep=Quel est le premier repertoir des photos? :
cd /D %rep%
if not %ERRORLEVEL%==0 (
echo Le repertoire %rep% n'existe pas
pause>nul&exit
)
md C:\script-photos-tmp\
cd /D C:\script-photos-tmp\
for /f %%a in ('dir "%rep%\*.jpg" /S /B') do (
if exist "%CD%\%%~na.jpg" (
ren "%CD%\%%~na.jpg" "%RANDOM%-%%~na.jpg
)
copy /N "%%a" "C:\script-photos-tmp" >nul
echo Copie de %%a
)
echo Copie terminee
pause
Re: problème inconnu sur mon script
Posté : 20 juin 2011 21:45
par iliko
C'est parfait WIN32-[GG]
Merci infiniment pour ton aide

Re: problème inconnu sur mon script
Posté : 20 juin 2011 21:52
par WIN32-[GG]
Je t'en prie
Oh! Par contre: n'oubli pas de mettre "[Résolu]" dans le sujet
Bonne soirée, moi je garde le batch dans mes archives

Re: [RESOLU] problème inconnu sur mon script
Posté : 20 juin 2011 22:13
par iliko
C'est fait !
bonne soirée à toi aussi !
