[batch] incrémentation
AnaGraM
Messages postés
72
Statut
Membre
-
@lex -
@lex -
Bonjour,
Je n'arrive pas à incrémenter une variable dans un script bash.
Ceci fonctionne
set k=0
set /A k=%k%+1
echo %k%
mais pas ceci
set k=0
For /F %%i in ('dir /A:A /O:S /B') do (
set /A k=%k%+1
)
echo %k%
k vaut toujours 0 !!!
Pourriez-vous me dire comment incrémenter une variable dans une boucle ? Je désespère !
Merci
Je n'arrive pas à incrémenter une variable dans un script bash.
Ceci fonctionne
set k=0
set /A k=%k%+1
echo %k%
mais pas ceci
set k=0
For /F %%i in ('dir /A:A /O:S /B') do (
set /A k=%k%+1
)
echo %k%
k vaut toujours 0 !!!
Pourriez-vous me dire comment incrémenter une variable dans une boucle ? Je désespère !
Merci
6 réponses
-
Bonsoir,
Le temps passe si vite quand on boucle ! Le temps passe si vite quand on boucle ! Le temps passe si vite quand on boucle ! Le temps passe si vite quand on boucle ! Le temps passe si vite quand on boucle ! Le temps passe si vite quand on boucle ! Le temps passe si vite quand on boucle ! Le temps passe si vite ..........................
T'en es où Florian depuis le temps ? COSTiC t'a pas réveillé, au moins ?
Autrement c'est un problème d' expansion retardée de variables il suffit de mettre en début de fichier : SETLOCAL ENABLEdelayedExpansionet de remplacer les "%" par des "!" qui encadrent la variable k :set k=0 For /F %%i in ('dir /A:A /O:S /B') do ( set /A k=!k!+1 ) echo !k!
Pour s'en convaincre faire "help set" sur l'invite de commandes. -
Tien prend sa! (Ses une petite boucle simple!)
set k=0
:LE_NOM
set /A k=%k%+1
echo %k%
GOTO LE_NOM -
Salut tout le monde, je sais que ce sujet est plus que dépassé : 2 ans
Mais les réponses m'ont tellement dépité que je me suis senti obligé de répondre
la séquence est : let "k += 1" on peut difficilement faire plus simple ! -
bonhjour,
jai EXACTEMENT le meme problème si tu as une solution merci de me prévenir, moi je continue à chercher ;)
a+ -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Enorme,
Je faisais une petite recherche sur qq commandes, et je tombe sur ça!
J'avoue que j'ai bien ri, et j'aurais aimé savoir si Florian a utilisé la boucle "simple", mais surtout infinie d'Alexandre...
Bon, je suis un peu mauvaise langue, je suis certain que ça partait d'une bonne intention, mais tu aurais pu aller un peu plus loin... Ne sait-on jamais... :) -
Hello,
Bien des années plus tard une solution ok :
Cette formule incremente la variable "compt" de 1 à chaque tour et fait la somme des nombres contenu dans "monfichier.txt" dans la variable "tot"
for /f %%i in (monFichier.txt) do (
set /a tot+=%%i
set /a compt+=1
)