command prompt

Status
Niet open voor verdere reacties.

THWIT

Gebruiker
Lid geworden
2 dec 2009
Berichten
420
ik had een programma'tje met command prompt gemaakt, maar op de een of andere manier doet hij het niet helemaal.
Code:
@echo off

echo hoi
echo.
echo houd je van rood???
echo.
echo typ 'ja'of 'nee'
echo.
set /p keuze=

if '%keuze%'=='ja' goto rood
goto vervolg groen

if '%keuze%'=='nee' goto geen rood
goto vervolg groen

pause

:rood
color cf
echo tadaaaaa
echo en wat vindt je er van?
pause

:vervolg groen
echo.
echo misschien vindt je groen mooier
echo kies maar 'ja' of 'nee'
echo.
set /p keuze=

if '%keuze%'=='ja' goto groen
goto 

if '%keuze%'=='nee' goto dan niet
goto vervolg blauw

: dan niet                                                    [B]die spatie hoort daar niet maar staat er omdat er anders een smilie komt[/B]
echo wat wil je geen groen????
echo wat jammer nou.
pause

:geen rood
echo wat.... wil je geen rood?
echo ohh... misschien wil je dit!
pause

:groen
color 2f
echo en wat vindt je?
pause
dit is de code
op de een of de andere manier kan hij het stukje : dan niet niet vinden in command prompt.

weet iemand hoe dat komt?
 
Laatst bewerkt door een moderator:
goto dan niet
Geen spaties gebruiken (danniet), of omringen met dubbele aanhalingstekens " ".
Jij zegt "ga naar dan, parameter niet".

Of aanhalingstekens trouwens werken weet ik niet zeker, ik gebruik gewoon nooit spaties.

Oh, enne:
echo misschien vindt je groen mooier
Vind je.

echo en wat vindt je er van?
Wat vind je ervan?

echo en wat vindt je?
Wat vind je.

;)
 
Laatst bewerkt:
:shocked:

sorry maar zo doet hij het nog niet!
 
Laatst bewerkt door een moderator:
ik bedoel:
Op het moment dat command prompt :dan niet moet uitvoeren staat er dat hij dat niet kan vinden, terwijl er (zover ik weet) niks anders is dan bij andere dingen (zoals goto groen)
 
Code:
if '%keuze%'=='ja' goto groen
goto 

if '%keuze%'=='nee' goto dan niet

Goto zonder aan te geven waarnaartoie te gotoén

dan niet met spatie gaat niet werken dus zoals eerder vermeld naast de : dan niet ook alle verwijzingen er naar toe vervangen door danniet

Zodra je dat gedaan hebt graag even een nieuwe versie plaatsen of de oude aanpassen zodat we ook zien wat je allemaal aangepast hebt.

Even alle dingen die je aan moet passen op een rijtje:

Code:
@echo off

echo hoi
echo.
echo houd je van rood???
echo.
echo typ 'ja'of 'nee'
echo.
set /p keuze=

if '%keuze%'=='ja' goto rood
goto [COLOR="#ff0000"]vervolggroen[/COLOR]

[COLOR="Red"]if '%keuze%'=='nee' goto geen rood       [B]deze drie regels zullen nooit uitgevoerd worden wegens bovenstaande goto[/B]
goto vervolg groen
pause
[/COLOR]

:rood
color cf
echo tadaaaaa
echo en wat vindt je er van?
pause

[COLOR="#ff0000"]:vervolggroen[/COLOR]
echo.
echo misschien vindt je groen mooier
echo kies maar 'ja' of 'nee'
echo.
set /p keuze=

if '%keuze%'=='ja' goto groen
[COLOR="#ff0000"]goto[/COLOR] 

if '%keuze%'=='nee' goto [COLOR="#ff0000"]danniet[/COLOR]
goto [COLOR="#ff0000"]vervolgblauw[/COLOR]

[COLOR="#ff0000"]: danniet        [/COLOR]                                            die spatie hoort daar niet maar staat er omdat er anders een smilie komt
echo wat wil je geen groen????
echo wat jammer nou.
pause

[COLOR="#ff0000"]:geenrood[/COLOR]
echo wat.... wil je geen rood?
echo ohh... misschien wil je dit!
pause

:groen
color 2f
echo en wat vindt je?
pause
 
Laatst bewerkt:
ohh hij doet het nog niet....

alleen als je bij groen nee in drukt komt er te staan:
kan het opgegeven batch bestand niet vinden!
 
Laatst bewerkt:
hier is een print screen van wat hij dan weergeeft!
 

Bijlagen

  • Naamloos.jpg
    Naamloos.jpg
    21,2 KB · Weergaven: 60
Aan de foutmelding te zien ben je iets vergeten aan te passen maaarrrr.......
We willen de code zien, anders kunnen we niet zeggen wat je fout doet ;).
 
srry

@echo off

echo hoi
echo.
echo houd je van rood???
echo.
echo typ 'ja'of 'nee'
echo.
set /p keuze=

if '%keuze%'=='ja' goto rood
goto vervolggroen

if '%keuze%'=='nee' goto geen rood
goto vervolg groen
pause


:rood
color cf
echo tadaaaaa
echo en wat vindt je er van?
pause

:vervolggroen
echo.
echo misschien vindt je groen mooier
echo kies maar 'ja' of 'nee'
echo.
set /p gekozen=

if '%gekozen%'=='ja' goto groen
goto

if '%gekozen%'=='nee' goto nee


:nee
echo wat wil je geen groen????
echo wat jammer nou.
pause

:geenrood
echo wat.... wil je geen rood?
echo ohh... misschien wil je dit!
pause

:groen
color 2f
echo en wat vindt je?
pause

het rode stuk is denk ik iets mis mee
 
Code:
if '%gekozen%'=='ja' goto groen
goto

if '%gekozen%'=='nee' goto nee


:nee
echo wat wil je geen groen????
echo wat jammer nou.
pause

=>
Code:
if '%gekozen%'=='ja' goto groen
goto nee

:nee
echo wat wil je geen groen????
echo wat jammer nou.
pause

Tevens heb je elders in je code nog steeds spaties staan (if '%keuze%'=='nee' goto geen rood)
 
ja, maar daar doet hij het wel gewoon!

edit: o.. daar doet hij het idd ook niet!
 
Laatst bewerkt:
@echo off

echo hoi
echo.
echo houd je van rood???
echo.
echo typ 'ja'of 'nee'
echo.
set /p keuze=

if '%keuze%'=='ja' goto rood
goto vervolggroen

if '%keuze%'=='nee' goto geen
goto vervolg groen
pause


:geen
echo wat.... wil je geen rood?
echo ohh... misschien wil je dit!
pause

:rood
color cf
echo tadaaaaa
echo en wat vindt je er van?
pause

:vervolggroen
echo.
echo misschien vindt je groen mooier
echo kies maar 'ja' of 'nee'
echo.
set /p gekozen=

if '%gekozen%'=='ja' goto groen
goto nee

:nee
echo wat wil je geen groen????
echo wat jammer nou.
pause


:groen
color 2f
echo en wat vindt je?
pause

die rode:
slaat 'goto geen" over

die blauwe:
er komt zoals het hoort éérst wel het juiste stukje. (namelijk :nee).
Maar daarna plakt hij :groen er zo achteraan! (en dat is niet de bedoeling)
 
Laatst bewerkt:
Ok stap voor stap:

Code:
@echo off
Geef geen commando's weer op het scherm

Code:
echo hoi
echo.
echo houd je van rood???
echo.
echo typ 'ja'of 'nee'
echo.
set /p keuze=
Geef informatie aan gebruiker en vraag om input

Code:
if '%keuze%'=='ja' goto rood
goto vervolggroen

if '%keuze%'=='nee' goto geen rood
goto vervolg groen
pause
Verwerk de invoer van de gebruiker
Hierin zit een eerste denkfout.

In normale taal worden de volgende stappen uit:
1. Als de gebruiker ja invoert ga naar rood
2. ga naar groen
3. als de gebruiker nee invoerd ga naar "geen rood"
4. ga naar "vervolg groen"
5. pause

Zoals je kan zien worden de stappen 3 t./m 5 nooit uitgevoerd aangezien stap 2 sowieso uitgevoerd gaat worden als de gebruiker iets anders invoerd dan "ja"

Code:
:rood
color cf
echo tadaaaaa
echo en wat vindt je er van?
pause

:vervolggroen
echo.
echo misschien vindt je groen mooier
echo kies maar 'ja' of 'nee'
echo.
set /p gekozen=
geef informatie en vraag opnieuw input
wegens de uitleg bij het vorige gedeelte zal "Vervolg groen" niet uitgevoerd kunnen worden
Code:
if '%gekozen%'=='ja' goto groen
goto 

if '%gekozen%'=='nee' goto nee
de verwerking van de input van de gebruiker

in gewone taal de stappen:
1. Als de gebruiker ja zegt ga naar groen
2. ga naar ????
3. als de gebruiker nee zegt ga naar nee

zoals je ziet zal stap 2 een moeilijkheid geven (de foutmelding dat het batchlabel niet gevonden kan worden)
en stap 3 is een beetje overbodig (niet fout) aangezien het volgende gedeelte "Nee" is

Code:
:nee
echo wat wil je geen groen????
echo wat jammer nou.
pause

:geenrood
echo wat.... wil je geen rood?
echo ohh... misschien wil je dit!
pause

:groen
color 2f
echo en wat vindt je?
pause

geenrood is een overbodig label aangezien er geen goto is die naar "geenrood" verspringt
als de gebruiker in het vorige stuk code nee heeft geselecteerd zal vanaf nee alle code uitgevoerd gaan worden dus ook het "groen" gedeelte
 
Laatst bewerkt:
Ok stap voor stap:

Code:
@echo off
Geef geen commando's weer op het scherm

Code:
echo hoi
echo.
echo houd je van rood???
echo.
echo typ 'ja'of 'nee'
echo.
set /p keuze=
Geef informatie aan gebruiker en vraag om input

Code:
if '%keuze%'=='ja' goto rood
goto vervolggroen

if '%keuze%'=='nee' goto geen rood
goto vervolg groen
pause
Verwerk de invoer van de gebruiker
Hierin zit een eerste denkfout.

In normale taal worden de volgende stappen uit:
1. Als de gebruiker ja invoert ga naar rood
2. ga naar groen
3. als de gebruiker nee invoerd ga naar "geen rood"
4. ga naar "vervolg groen"
5. pause

Zoals je kan zien worden de stappen 3 t./m 5 nooit uitgevoerd aangezien stap 2 sowieso uitgevoerd gaat worden als de gebruiker iets anders invoerd dan "ja"

Code:
:rood
color cf
echo tadaaaaa
echo en wat vindt je er van?
pause

:vervolggroen
echo.
echo misschien vindt je groen mooier
echo kies maar 'ja' of 'nee'
echo.
set /p gekozen=
geef informatie en vraag opnieuw input
wegens de uitleg bij het vorige gedeelte zal "Vervolg groen" niet uitgevoerd kunnen worden
Code:
if '%gekozen%'=='ja' goto groen
goto 

if '%gekozen%'=='nee' goto nee
de verwerking van de input van de gebruiker

in gewone taal de stappen:
1. Als de gebruiker ja zegt ga naar groen
2. ga naar ????
3. als de gebruiker nee zegt ga naar nee

zoals je ziet zal stap 2 een moeilijkheid geven (de foutmelding dat het batchlabel niet gevonden kan worden)
en stap 3 is een beetje overbodig (niet fout) aangezien het volgende gedeelte "Nee" is

Code:
:nee
echo wat wil je geen groen????
echo wat jammer nou.
pause

:geenrood
echo wat.... wil je geen rood?
echo ohh... misschien wil je dit!
pause

:groen
color 2f
echo en wat vindt je?
pause

geenrood is een overbodig label aangezien er geen goto is die naar "geenrood" verspringt
als de gebruiker in het vorige stuk code nee heeft geselecteerd zal vanaf nee alle code uitgevoerd gaan worden dus ook het "groen" gedeelte

ja allemaal wel leuk en aardig wat je daar schrijft maar als ik jouw tips opvolg doet hij het alleen maar slechter!
 
nou, ik heb zelf wat gedaan en nou doet hij het...
dus.
vraag opgelost!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan