A voir également:
- Increment variable batch
- Fichier batch - Guide
- Batch renommer une partie du nom de plusieurs fichiers ✓ - Forum Autoit / batch
- Batch net use - Forum Réseau
- Batch increment variable - Forum Programmation
5 réponses
Pour que le script puisse prendre en compte la nouvelle valeur de la variable il faut faire appel à l'expansion retardée et au lieu d'apeller la variable par %compteur%, il faut l'apeller par !compteur!
par exemple :
setlocal enabledelayedexpansion
set compteur=1
for %%f in (*) do (
set /A compteur+=1
set compteur
echo compteur : !compteur!
)
endlocal
Pour plus de renseignement, consulter :
www.microsoft.com
dans une fenêtre de commande : set /?
par exemple :
setlocal enabledelayedexpansion
set compteur=1
for %%f in (*) do (
set /A compteur+=1
set compteur
echo compteur : !compteur!
)
endlocal
Pour plus de renseignement, consulter :
www.microsoft.com
dans une fenêtre de commande : set /?
En console dos sous windows 2000, pour faire une incrementation de variable , il faut utiliser le parametre /A, sans quoi, il prends l'opération pour une chaine de caractere :
set test=1
set /A test=%test%+1
set test
tu peux vérifier les options de set avec
set /?
set test=1
set /A test=%test%+1
set test
tu peux vérifier les options de set avec
set /?
Salut
ouai suis un peu en retard mais sa peut toujours servir que quelqu'un poste la solution au problème original !
désolé de dire sa mais ton code est plein de petites fautes qui font que sa ne risque pas de marcher !
voila en reprenant ton exemple le code qui marche !
@echo off
color a
set tempo=0
:debut
if %tempo% == 10000 goto fin
set /a tempo=%tempo%+1
goto debut
:fin
echo sa marche ! =)
pause>nul
Et voila pour tout ceux a qui sa pourrai servir !
PS ----> le sujet était la temporisation en batch alors pour ceux qui veulent ...
@echo off
color a
ping localhost -n 10>nul
echo sa marche ! =)
pause>nul
!!! OU 10 EST (environ) LE NOMBRE DE SECONDE DE TEMPORISATION !
Thanks !
ouai suis un peu en retard mais sa peut toujours servir que quelqu'un poste la solution au problème original !
désolé de dire sa mais ton code est plein de petites fautes qui font que sa ne risque pas de marcher !
voila en reprenant ton exemple le code qui marche !
@echo off
color a
set tempo=0
:debut
if %tempo% == 10000 goto fin
set /a tempo=%tempo%+1
goto debut
:fin
echo sa marche ! =)
pause>nul
Et voila pour tout ceux a qui sa pourrai servir !
PS ----> le sujet était la temporisation en batch alors pour ceux qui veulent ...
@echo off
color a
ping localhost -n 10>nul
echo sa marche ! =)
pause>nul
!!! OU 10 EST (environ) LE NOMBRE DE SECONDE DE TEMPORISATION !
Thanks !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 896
28 août 2003 à 11:30
28 août 2003 à 11:30
Salut.
Je suis pas trop sur, mais je crois qu'il te faut utiliser la commande "shift".
Fais un tour sur: http://www.namani.net/
Il y a des explications sur les commandes DOS, et sur les batchs.
JP
Je suis pas trop sur, mais je crois qu'il te faut utiliser la commande "shift".
Fais un tour sur: http://www.namani.net/
Il y a des explications sur les commandes DOS, et sur les batchs.
JP
31 août 2012 à 16:09