steevysnap Posted July 2, 2006 Share Posted July 2, 2006 Bonsoir, Celà fait un moment que je but sur un problème tout con, mais sans trouver de solutions. Voici le code me posant problème: SET compteur=1 FOR /F %%i IN (liste.txt) DO ( set compteur /a =%compteur%+1 echo %compteur% ) J'execute une boucle qui lit dans un fichier texte ligne après ligne. Le problème est qu'en executant ça, le echo m'affiche à chaque tour de boucle la valeur 1. En gros mon compteur ne s'incrémente pas. Je sais que la boucle FOR avec le /L permet d'avoir un compteur, mais là ma boucle FOR utilise déjà le /F pour lire dans le fichier.. Si quelqu'un a une solution je suis preneur. Merci d'avance. Link to comment Share on other sites More sharing options...
astero-H Posted July 3, 2006 Share Posted July 3, 2006 Attention prépare toi à pleurer... ça existe pas les additions en batch Solution : (prépare toi à te dire que tu vas essayer un autre langage ) @echo off set compteur=0 set return=:boucle :boucle echo %compteur% if %compteur% LSS 10 goto incremente goto :eof :incremente if %compteur%==9 set compteur=10 if %compteur%==8 set compteur=9 if %compteur%==7 set compteur=8 if %compteur%==6 set compteur=7 if %compteur%==5 set compteur=6 if %compteur%==4 set compteur=5 if %compteur%==3 set compteur=4 if %compteur%==2 set compteur=3 if %compteur%==1 set compteur=2 if %compteur%==0 set compteur=1 goto %return% Attention l'ordre est important vu qu'on peut pas non plus grouper les instructions dans un if... non mais franchement ça sert à quoi ce langage de malade Link to comment Share on other sites More sharing options...
steevysnap Posted July 5, 2006 Author Share Posted July 5, 2006 Merci pour la solution, ca fonctionne.... Fallait y penser! T'as raison, le batch c'est vraiment un language horrible.. Bonne soirée, a+ Link to comment Share on other sites More sharing options...
lorinc Posted July 5, 2006 Share Posted July 5, 2006 heureusement, rassure toi, M$ pense à toi et va ajouter un vrai langage de shell dans son prochain windows vivement la révolution heureusement qu'ils sont là pour être toujours à la pointe de la technologie et innover constament, sinon, on en resterait au moyen âge... vous allez voir que dès que ce sera sorti, les autres système vont s'empresser de tout pomper... merci billou EDIT : tiens, allez, comme je ne voulais pas faire un message totalement inutile voici quelques liens [Tuto][initié] Les Scripts Bash [Tuto][initié] 10 exercices de bash, avec les corrections histoire de voir ce qui se fait par défaut sur certains système depuis ... 20ans Link to comment Share on other sites More sharing options...
theocrite Posted July 11, 2006 Share Posted July 11, 2006 Interfacé avec cygwin, ça peut le faire (faute de mieux) Link to comment Share on other sites More sharing options...
iyouri Posted May 20, 2009 Share Posted May 20, 2009 Attention prépare toi à pleurer... ça existe pas les additions en batch Solution : (prépare toi à te dire que tu vas essayer un autre langage ) @echo off set compteur=0 set return=:boucle :boucle echo %compteur% if %compteur% LSS 10 goto incremente goto :eof :incremente if %compteur%==9 set compteur=10 if %compteur%==8 set compteur=9 if %compteur%==7 set compteur=8 if %compteur%==6 set compteur=7 if %compteur%==5 set compteur=6 if %compteur%==4 set compteur=5 if %compteur%==3 set compteur=4 if %compteur%==2 set compteur=3 if %compteur%==1 set compteur=2 if %compteur%==0 set compteur=1 goto %return% Attention l'ordre est important vu qu'on peut pas non plus grouper les instructions dans un if... non mais franchement ça sert à quoi ce langage de malade euh dsl man y a plus simple @echo off {@echo off c'est pour ne pas affiches les commande tépé} if not defined i set i=0 {la c'est pour l'initialisation de i } :A {:A c'est une label } set /a i=i+1 { set /a pour faire l'incrémentation de i } echo %i% {%i% c'est pour afficher le contenu du resultat de set /a i=i+i les 2 pourcentage son obligatoir } if %i% equ 25 goto fin {pour mettre fin au compteur } goto A { cette commande te permet de revenir ver la label pour refaire les étape aprés :A :fin pause j'éspére que ton compteur va marcher aprés ca Link to comment Share on other sites More sharing options...
Tiduster Posted May 20, 2009 Share Posted May 20, 2009 C'est sympa, mais le message a 3 ans . Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.