Petite intelligence en batch

- - Dernière réponse :  Anonymous - 1 août 2019 à 13:44
bonjour je souhaiterait créer un petit assistant en batch avec ce code fait par moi :
@echo off
title= ---- Commande Shutdown ----
%homedrive%
cd\
cd windows\system32
color AF
cls
:début
echo bonjour, je suis une petite intelligence artificielle nommé Fred
set /p choix=vous pouvez me parler:
(
if not %choix%=='' set choix=%choix:~0,1%
if %choix%==bonjour goto bonjour
if %choix%==quel heure est il goto time
if %choix%==quel est ton nom goto mon_nom
if %choix%==fin goto end
)
echo je ne comprend pas
goto :réponse
:réponse
set /p choix=vous pouvez me dire d'autres choses:
(
if not %choix%=='' set choix=%choix:~0,1%
if %choix%==bonjour goto bonjour
if %choix%==quel heure est il goto time
if %choix%==quel est ton nom goto mon_nom
if %choix%==fin goto end
)
echo je ne comprend pas : %choix%
:bonjour
echo bonjour !
goto réponse
:time
echo il est %time%
goto réponse
:mon_nom
echo je m'appelle Fred et je suis un peu débile !
goto réponse
goto end
:end

seulement voila : je peux lui dire bonjour mais les autres choix me font quitter le batch, quelqu'un aurait-il une solution a mon problème ?
merci d'avance
Afficher la suite 

1 réponse

Messages postés
12334
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
18 août 2019
2135
0
Merci
Bonjour,

Tu as oublié les " " à chaque fois dans les IF :

@echo off
title= ---- Commande Shutdown ----
%homedrive%
cd\
cd windows\system32
color AF
cls

:début
echo bonjour, je suis une petite intelligence artificielle nommé Fred
set /p choix=vous pouvez me parler:
(
if not %choix%=='' (set choix=%choix:~0,1%)
if "%choix%"=="bonjour" (goto :bonjour)
if "%choix%"=="quel heure est il" (goto :time)
if "%choix%"=="quel est ton nom" (goto :mon_nom)
if "%choix%"=="fin" (goto :end)
)
echo je ne comprend pas
goto :réponse

:réponse
set /p choix=vous pouvez me dire d'autres choses:
(
if not %choix%=='' (set choix=%choix:~0,1%)
if "%choix%"=="bonjour" (goto :bonjour)
if "%choix%"=="quel heure est il" (goto :time)
if "%choix%"=="quel est ton nom" (goto :mon_nom)
if "%choix%"=="fin" (goto :end)
)
echo je ne comprend pas : %choix%

:bonjour
echo bonjour !
goto :réponse

:time
echo il est %time%
goto :réponse

:mon_nom
echo je m'appelle Fred et je suis un peu débile !
goto :réponse
goto :end

:end

merci beaucoup, c'était en plus une erreur toute bête ! merci barnabe0057 !
Commenter la réponse de barnabe0057