Batch if else... HUJ.?

Status
Niet open voor verdere reacties.

Juzzz

Gebruiker
Lid geworden
15 jan 2008
Berichten
281
Ik heb een kleine code (ff met een stop voorbeeld :P)

Code:
@ECHO OFF
CLS
ECHO.
ECHO --------------------------------------------------
ECHO.
ECHO Chat sesion with Computer has started
ECHO.
ECHO --------------------------------------------------
ECHO.
ping localhost /3 >nul
Echo Computer says: Do you want a cookie?
ECHO.
SET /P text=%username% says: 
ECHO.
IF %text%==yes (
goto YES
) ELSE (
IF %text%==no (
goto NO
) ELSE ( 
GOTO NEXT
)
)
:YES
ping localhost /n 3 >nul
Echo Computer says: OK, here you are!
ECHO.
GOTO NEXT
:NO
ping localhost /n 3 >nul
Echo Computer says: Ok, then i eat it myself!
ECHO.
GOTO NEXT
:NEXT
ping localhost /n 3 >nul
Echo Computer says: Not a yes or no?
ECHO.
SET /P text=%username% says: 
echo.
ping localhost /n 3 >nul
Echo Computer says: how are you?
pause

als ik yes of no type werkt het perfect
ook als ik iets anders in type.
MAAR zodra ik 2 woorden in type dan sluit hij af.....?
 
Laatst bewerkt:
Ik denk dat je er quotes omheen moet zetten zodat je een string met een spatie bij elkaar houd:
PHP:
IF "%text%" == "yes" goto YES
IF "%text%" == "no" goto NO
GOTO NEXT
Bestaat ELSE wel bij een batch? :)


Vr.Gr. Egel.
 
ALS je de code had getest had je gezien dat alles werkt behalve and je 2 woorden in typt.
die quotjes hoeven niet zo zeer omdat het 1 maar één woord is en 2 hij werkt al XD behelave....
 
Ik heb Windows 98, set /p werkt niet daaronder. ;)

Het lijkt erop dat twee woorden twee keer een input genereren en daardoor de PAUSE overslaan ... :confused:
PHP:
ECHO.
:QUESTION
SET /P text=%username% says: 
IF "%text%" == "yes" goto YES
IF "%text%" == "no" goto NO
ECHO yes or no please!
GOTO QUESTION
Misschien? :)


Vr.Gr. Egel.
 
Ik heb Windows 98, set /p werkt niet daaronder. ;)

Het lijkt erop dat twee woorden twee keer een input genereren en daardoor de PAUSE overslaan ... :confused:
PHP:
ECHO.
:QUESTION
SET /P text=%username% says: 
IF "%text%" == "yes" goto YES
IF "%text%" == "no" goto NO
ECHO yes or no please!
GOTO QUESTION
Misschien? :)


Vr.Gr. Egel.

ja dat lukt mij ook wel maar het gaat juist om de laatste ELSE

hier een plaatje als ik het in cmd open:
cmdbatcherror.png
 
"%text%" doet het toch? :)

PHP:
@ECHO OFF
CLS

ECHO.
ECHO --------------------------------------------------
ECHO.
ECHO Chat sesion with Computer has started
ECHO.
ECHO --------------------------------------------------
ECHO.

Echo Computer says: Do you want a cookie?
ECHO.

SET /P text=%username% says: 
ECHO.
IF "%text%" == "yes" goto YES
IF "%text%" == "no" goto NO
Echo Computer says: Not a yes or no?
GOTO NEXT

:YES
Echo Computer says: OK, here you are!
ECHO.
GOTO NEXT

:NO
Echo Computer says: Ok, then i eat it myself!
ECHO.
GOTO NEXT

:NEXT
pause
Had je de code wel zelf getest? ;)


Vr.Gr. Egel.
 
YEEEJ dank U
van de lijn IF %text%==yes
dacht ik dat je yes bedoelde met "yes" niet de variabelen ^^.
heb dit nu:
PHP:
IF "%text%"=="yes" (
   goto YES
) ELSE (
IF "%text%"=="no" (
   goto NO
) ELSE ( 
   GOTO NEXT
)
)
werkt perfect. alleen wilde ik nog wat :o

Als de user nou "yes please" in typed dan ziet hij geen "yes" maar iets anders. ?
iets met * ???
 
Van strings in msdos weet ik het fijne niet ... :o Maar misschien zoiets:
Code:
IF \I "%text%" == "yes*" goto YES
\I maakt het dan hoofdletterongevoelig en
"yes*" alles wat met yes begint.

http://www.computerhope.com/if.htm


Vr.Gr. Egel.
 
Laatst bewerkt:
Msn dos ken

{

}

niet

het is

if "%vraag%" == "vraag" goto Ok
if "%vraag%" = "vraag" else "%vraag%" goto fout
 
Msn dos ken

{

}

niet

het is

if "%vraag%" == "vraag" goto Ok
if "%vraag%" = "vraag" else "%vraag%" goto fout

Uhm... het is misschien moeilijk te zien, maar hij gebruikt geen accolades. En hetgeen hij gebruikt klopt wel gewoon. (heb zelf weinig met batch gedaan, maar wat ik ervan op internet heb gezien)
 
Van strings in msdos weet ik het fijne niet ... :o Maar misschien zoiets:
Code:
IF \I "%text%" == "yes*" goto YES
\I maakt het dan hoofdletterongevoelig en
"yes*" alles wat met yes begint.

http://www.computerhope.com/if.htm


Vr.Gr. Egel.

Hij werkt gewoon wel en dan hoofdletter lukt wel. maar de * werkt niet :(
"yes*" niet
"yes *" ook niet
"yes"* ook niet (gewoon proberen :P)

hmm nog surgesties?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan