Petite intelligence en batch

Anonymous -  
 Anonymous -
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

1 réponse

  1. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930
     
    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

    0
    1. Anonymous
       
      merci beaucoup, c'était en plus une erreur toute bête ! merci barnabe0057 !
      0