[Batch] Le programme s'arrete sans le loop
Résolu
canarder
Messages postés
2034
Statut
Membre
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Je fais une petite horloge numérique en batch pour passer le temps.
Mais le programme s'arrête sans prendre en compte le loop depuis que j'ai défini les if pour remettre les secondes, minutes et heures à 0.
Voici mon code :
Je crois n'avoir pas très bien saisi la commande if en batch pour ce type d'utilisation ... En php ou en javascript je m'en sortirais.
Merci pour votre aide.
Je fais une petite horloge numérique en batch pour passer le temps.
Mais le programme s'arrête sans prendre en compte le loop depuis que j'ai défini les if pour remettre les secondes, minutes et heures à 0.
Voici mon code :
@echo off set mytime=%time% set heure=%mytime:~0,2% set minute=%mytime:~3,2% set seconde=%mytime:~6,2% :loop set mytime=%heure%:%minute%:%seconde% echo -------- echo %mytime% echo -------- ping 127.0.0.1 -n 2 > dechet.txt del dechet.txt set /a seconde=%seconde%+1 if seconde==60 (set /a seconde=0 set /a minute=%minute%+1) if minute==60 (set /a minute=0 set /a heure=%heure%+1 if heure==24 (set /a heure=0) cls goto loop
Je crois n'avoir pas très bien saisi la commande if en batch pour ce type d'utilisation ... En php ou en javascript je m'en sortirais.
Merci pour votre aide.
A voir également:
- [Batch] Le programme s'arrete sans le loop
- Fichier batch - Guide
- Programme demarrage windows - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
- Programme word gratuit - Guide
- Message programmé iphone - Guide
3 réponses
Voici la correction :
@echo off
set mytime=%time%
set heure=%mytime:~0,2%
set minute=%mytime:~3,2%
set seconde=%mytime:~6,2%
:loop
set mytime=%heure%:%minute%:%seconde%
echo --------
echo %mytime%
echo --------
ping 127.0.0.1 -n 2 >nul
set /a seconde=%seconde%+1
if %seconde%==60 set /a seconde=0 & set /a minute=%minute%+1
if %minute%==60 set /a minute=0 & set /a heure=%heure%+1
if %heure%==24 set /a heure=0
cls
goto loop
Pour un ping 127.0.0.1 -n 2 tu peux l'envoyer dans NULL au lieu d'un fichier puis supprimer le fichier : ping 127.0.0.1 -n 2 >nul
@echo off
set mytime=%time%
set heure=%mytime:~0,2%
set minute=%mytime:~3,2%
set seconde=%mytime:~6,2%
:loop
set mytime=%heure%:%minute%:%seconde%
echo --------
echo %mytime%
echo --------
ping 127.0.0.1 -n 2 >nul
set /a seconde=%seconde%+1
if %seconde%==60 set /a seconde=0 & set /a minute=%minute%+1
if %minute%==60 set /a minute=0 & set /a heure=%heure%+1
if %heure%==24 set /a heure=0
cls
goto loop
Pour un ping 127.0.0.1 -n 2 tu peux l'envoyer dans NULL au lieu d'un fichier puis supprimer le fichier : ping 127.0.0.1 -n 2 >nul
Salut Canarder
Pas mal ton programme, mais tu peux ajouter la date ;)
comme ceci
En tout cas, c'est pas mal, pour un petit programme
@+
Pas mal ton programme, mais tu peux ajouter la date ;)
comme ceci
@echo off set mytime=%time% set heure=%mytime:~0,2% set minute=%mytime:~3,2% set seconde=%mytime:~6,2% :loop set mytime=%heure%:%minute%:%seconde% echo ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ echo %date% :%mytime% echo ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ping 127.0.0.1 -n 2 >nul set /a seconde=%seconde%+1 if %seconde%==60 set /a seconde=0 & set /a minute=%minute%+1 if %minute%==60 set /a minute=0 & set /a heure=%heure%+1 if %heure%==24 set /a heure=0 cls goto loop
En tout cas, c'est pas mal, pour un petit programme
@+