Problème avec goto :eof
Résolu
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
j'ai un problème dans un programme batch quand j'utilise
j'ai un problème dans un programme batch quand j'utilise
call :temps affichagesa marche mais lorsque j'utilise
goto :temps affichagesa ne me remet pas au menu. si en enlève le
goto :eofalors le
callne revient plus et donc n'effectue pas le
reset
@echo
if not defined a set a=0
:reset
code -------------------------------
code -------------------------------
code -------------------------------
timeout /t %a% /nobreak>nul
:menu
set /p choix= 1/config 2/temps affichage
if /I "%choix%"=="1" goto :config
if /I "%choix%"=="2" goto :temps affichage
:config
set /p choix=Quelle variable voulez vous changer ? :
if /I "%choix%"=="1" goto :autre
if /I "%choix%"=="2" call :temps affichage
goto :reset
:temps affichage
set /p ab=le temps d'affichage
goto :eof
goto :menu
4 réponses
-
Bonjour,
Essaie comme ceci :
@echo if not defined a set a=0 :reset code ------------------------------- code ------------------------------- code ------------------------------- timeout /t %a% /nobreak>nul :menu set /p choix= 1/config 2/temps affichage if /I "%choix%"=="1" goto :config if /I "%choix%"=="2" call :temps goto :menu :config set /p choix=Quelle variable voulez-vous changer ? : if /I "%choix%"=="1" goto :autre if /I "%choix%"=="2" call :temps goto :reset :temps set /p ab=le temps d'affichage goto :eof
-
rebonjour,
je souhaite garder legoto :temps affichage
de:menu
set /p choix= 1/config 2/temps affichage
if /I "%choix%"=="1" goto :config
if /I "%choix%"=="2" goto :temps affichage
et lecall :temps
de:config
set /p choix=Quelle variable voulez vous changer ? :
if /I "%choix%"=="1" goto :autre
if /I "%choix%"=="2" call :temps affichage
goto :reset
En faite c'est la fin qui pose problème:temps
car avec le
set /p ab=le temps d'affichage
goto :eof
goto :menucall
il marche parfaitement mais lorsque j'utilise legoto
ça me fait quitté le programme. Or il faudrait modifié la fin pour qu'il puisse changer la destination de l'étiquette lorsque on utilisescall
ougoto
par exemple genre un truc comme çaif EXIST call :temps affichage goto :eof else (goto :menu)
ou commande qui permet de savoir sicall
est utiliser en ce moment dans cet étiquette:temps affichage
pour qu'il puisse basculer directement surgoto :menu
sicall :temps affichage
n'est pas utiliser en ce moment. -
merci ça marcher.
ça signifie quoi le%~1
car je sais que%0
signifie entre guillemet le chemin ainsi que le nom du programme actuelle. -
ok merci,
c'est vrai sur les commandescall
etfor
je les maîtrises pas encore tout ta fait