Comment additionner en CMD?

Résolu
foufou_qc -  
 foufou_qc -
Bonjour,

Sous XP, dans un fichier CMD que voici:

@echo off

:: initiation des compteurs
set /a Compt=0

::Bloucle sur les enrégistrements
FOR /F "tokens=1*" %%a in (u:\Marecherche.txt) DO (
	set /a Compt+=1
	echo Traitement de %%a, %Compt%
	
       	ping %%a	
) 

:end
echo terminer


Ma variable débute avec 0. Et dans la boucle la variable reste à 0, pourquoi et comment régler ce problème?

En ligne de commande set /a Compt+=1 ajoute 1 à Compt à chaque exécution de cette ligne. Et pourquoi en CMD ça ne fonctionne pas?

Merci de votre précieuse aide


A voir également:

2 réponses

dubcek Messages postés 19021 Statut Contributeur 5 637
 
hello
essayer
@echo off 
setlocal enableDelayedExpansion 

:: initiation des compteurs 
set /a Compt=0 

::Bloucle sur les enrégistrements 
FOR /F "tokens=1*" %%a in (u:\Marecherche.txt) DO ( 
 set /a Compt+=1 
 echo Traitement de %%a, !Compt! 
  
        ping %%a  
)  

:end 
echo terminer 

2
foufou_qc
 
Merci ça fonctionne, mais pourquoi?
0
dubcek Messages postés 19021 Statut Contributeur 5 637
 
pour modifier des variables dans une boucle FOR, il faut utiliser
setlocal enableDelayedExpansion
et des ! à la place des %
0
foufou_qc
 
Merci je comprend mieux maintenant merci encore :)
0
tuxboy Messages postés 1083 Statut Membre 190
 
à tout hasard, tu as essayé :
set /a Compt=Compt + 1
0
foufou_qc
 
Oui j'ai essayé ça! c'est la même chose que set /a Compt += 1
0