[batch]Problème incrementation

Problème incrementation [batch] - Shell/Batch - Programmation

Marsh Posté le 22-10-2005 à 14:31:15    

Bonjour,
 
Je me suis mis depuis cette après midi au batch mais je n'arrive pas à incrémenter une variable lorsque je lance le script. Pourtant si je tape le code directement dans la console ça fonctione et si je vérifie la valeur qu'a i après l'éxécution du script, il est bien incrémenté.
 

Code :
  1. @ECHO off
  2. cls
  3. set i=1
  4. set /P REP=Repertoire de destination :
  5. set /P NOM=Nom des fichiers :
  6. mkdir %REP%
  7. echo Les images seront mises dans le dossier "%REP%" qui vient d'etre cree
  8. for %%x in (*.jpg) do (
  9.         convert %%x -resize 320x240 -font arial -fill white -pointsize 10 -draw "text 260,235 'www.raal.be'" %REP%/%NOM%%i%.jpg
  10. echo Fichier %%x : ok
  11.         set /a i+=1
  12.         echo %i%
  13. )

Reply

Marsh Posté le 22-10-2005 à 14:31:15   

Reply

Marsh Posté le 22-10-2005 à 14:48:26    

Salut,
 
Regarde l'aide de la commande
set
paragraphe : Expansion retardée des variables.

Reply

Marsh Posté le 22-10-2005 à 15:00:42    

Désolé mais je ne trouve pas ça dans l'aide de la commande. Ils disent juste que ça retourne la valeur uniquement si la commande n'est pas exécutée dans un script .bat

Reply

Marsh Posté le 22-10-2005 à 15:14:59    

Tu n'as pas tout lu ?
 
Il faut activer l'expansion retardée et utiliser autre chose que les %% (il y a même l'exemple avec LIST, etc.)
 
Sinon, tu peux faire :

Code :
  1. for .... do (
  2.   convert ...blabla...
  3.   goto suivant
  4. )
  5. goto fin
  6. :suivant
  7. set /a i+=1
  8. goto :eof
  9. :fin

Reply

Marsh Posté le 22-10-2005 à 16:56:26    

ok merci

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed