Problème batchfile
Résolu
mikmuk
Messages postés
156
Date d'inscription
Statut
Membre
Dernière intervention
-
LUDO -
LUDO -
Bonjour,
je me suis donné l'idée de créer une liste de choses à avoir sur moi donc je fais mon batch mais là ça fait des plombes que je rame à trouver l'erreur
Voici mon code:
L'erreur que je vois surtout c'est que ça ne me demande pas d'écrire le paramètre 1
Merci de prendre le temps de m'aider =)
je me suis donné l'idée de créer une liste de choses à avoir sur moi donc je fais mon batch mais là ça fait des plombes que je rame à trouver l'erreur
Voici mon code:
@echo off color 0a echo appuye sur une touche pour verification de tes affaires pause >nul :un echo as-tu ton porte-monnaie if "%1"=="oui" goto deux if "%1"=="non" ( echo prends ton porte-monaie. goto deux) :deux echo as-tu ton htc if "%1"=="oui" goto trois if "%1"=="non" ( echo prends ton htc. goto deux) :trois echo as-tu ton nokia if "%1"=="oui" goto quatre if "%1"=="non" ( echo prends ton nokia. goto trois) :quatre echo as-tu tes clopes if "%1"=="oui" goto cinq if "%1"=="impossible" goto sept if "%1"=="non" ( echo prends tes clopes. goto quatre) :cinq echo as-tu ton briquet if "%1"=="oui" goto six if "%1"=="impossible" goto huit if "%1"=="non" ( echo prends ton briquet. goto cinq) :six echo C'est bon tu as tout c'est cool maintenant grouille toi d aller prendre le bus. pause >nul goto fin :sept echo MERDE bon tu en demenderas. goto six :huit echo bon c est pas si grave tu en demenderas un. goto six :fin
L'erreur que je vois surtout c'est que ça ne me demande pas d'écrire le paramètre 1
Merci de prendre le temps de m'aider =)
2 réponses
salut,
je comprends pas...
Tu veux que les questions soient posées au fur et à mesure dans la fenêtre DOS???
Ou alors tu veux juste passer un parametre au lancement du script?
je pense que tu veux faire ça:
@echo off
color 0a
echo appuye sur une touche pour verification de tes affaires
pause >nul
:un
echo.
set /p PORTEMONNAIE=as-tu ton porte-monnaie?
if "%PORTEMONNAIE%"=="oui" goto deux
if "%PORTEMONNAIE%"=="non" (
echo prends ton porte-monaie.
goto un)
echo Réponds par "oui" ou par "non".
goto un
:deux
echo.
set /p HTC=as-tu ton htc?
if "%HTC%"=="oui" goto trois
if "%HTC%"=="non" (
echo prends ton htc.
goto deux)
echo Réponds par "oui" ou par "non".
goto deux
:trois
echo.
set /p NOKIA=as-tu ton nokia?
if "%NOKIA%"=="oui" goto quatre
if "%NOKIA%"=="non" (
echo prends ton nokia.
goto trois)
echo Réponds par "oui" ou par "non".
goto trois
:quatre
echo.
set /p CLOPES=as-tu tes clopes?
if "%CLOPES%"=="oui" goto cinq
if "%CLOPES%"=="impossible" goto sept
if "%CLOPES%"=="non" (
echo prends tes clopes.
goto quatre)
echo Réponds par "oui", par "non" ou par "impossible".
goto quatre
:cinq
echo.
set /p BRIQUET=as-tu ton briquet?
if "%BRIQUET%"=="oui" goto six
if "%BRIQUET%"=="impossible" goto huit
if "%BRIQUET%"=="non" (
echo prends ton briquet.
goto cinq)
echo Réponds par "oui", par "non" ou par "impossible".
goto cinq
:six
echo.
echo C'est bon tu as tout c'est cool maintenant grouille toi d aller prendre le bus.
pause >nul
exit
:sept
echo.
echo MERDE bon tu en demanderas.
goto cinq
:huit
echo.
echo bon c est pas si grave tu en demanderas un.
goto six
est-ce que ça te correspond??
je comprends pas...
Tu veux que les questions soient posées au fur et à mesure dans la fenêtre DOS???
Ou alors tu veux juste passer un parametre au lancement du script?
je pense que tu veux faire ça:
@echo off
color 0a
echo appuye sur une touche pour verification de tes affaires
pause >nul
:un
echo.
set /p PORTEMONNAIE=as-tu ton porte-monnaie?
if "%PORTEMONNAIE%"=="oui" goto deux
if "%PORTEMONNAIE%"=="non" (
echo prends ton porte-monaie.
goto un)
echo Réponds par "oui" ou par "non".
goto un
:deux
echo.
set /p HTC=as-tu ton htc?
if "%HTC%"=="oui" goto trois
if "%HTC%"=="non" (
echo prends ton htc.
goto deux)
echo Réponds par "oui" ou par "non".
goto deux
:trois
echo.
set /p NOKIA=as-tu ton nokia?
if "%NOKIA%"=="oui" goto quatre
if "%NOKIA%"=="non" (
echo prends ton nokia.
goto trois)
echo Réponds par "oui" ou par "non".
goto trois
:quatre
echo.
set /p CLOPES=as-tu tes clopes?
if "%CLOPES%"=="oui" goto cinq
if "%CLOPES%"=="impossible" goto sept
if "%CLOPES%"=="non" (
echo prends tes clopes.
goto quatre)
echo Réponds par "oui", par "non" ou par "impossible".
goto quatre
:cinq
echo.
set /p BRIQUET=as-tu ton briquet?
if "%BRIQUET%"=="oui" goto six
if "%BRIQUET%"=="impossible" goto huit
if "%BRIQUET%"=="non" (
echo prends ton briquet.
goto cinq)
echo Réponds par "oui", par "non" ou par "impossible".
goto cinq
:six
echo.
echo C'est bon tu as tout c'est cool maintenant grouille toi d aller prendre le bus.
pause >nul
exit
:sept
echo.
echo MERDE bon tu en demanderas.
goto cinq
:huit
echo.
echo bon c est pas si grave tu en demanderas un.
goto six
est-ce que ça te correspond??
ok c'est dans ton if - else (il te manque une parenthese ==> celle en gras regarde ton else n'est pas terminé...) pareil pour tout tes autres if - else...
If /I %choix%==oui (
goto deux
) else (
If /I %choix%==non (
echo Prend ton porte monnaie !
goto un
)
)
En revanche cela marche avec la variable "choix" à chaque fois mais on peut changer de variable à chaque fois... La j'en avais mis plusieurs pour bien te faire comprendre l'utilisation des variables...
Mais visiblement ça va...
Voili voilou...
If /I %choix%==oui (
goto deux
) else (
If /I %choix%==non (
echo Prend ton porte monnaie !
goto un
)
)
En revanche cela marche avec la variable "choix" à chaque fois mais on peut changer de variable à chaque fois... La j'en avais mis plusieurs pour bien te faire comprendre l'utilisation des variables...
Mais visiblement ça va...
Voili voilou...
moi j'avais essayé de faire ca:
(juste question de comprendre peux-tu m'expliquer pourquoi cela s'arrêtait juste après avoir tapé le premier oui oO ?)