为什么在用户输入中放置空格不起作用?

时间:2019-04-16 14:48:35

标签: batch-file

我正试图制作一款基于选择的文字游戏,以娱乐为乐。我的文字输入有问题。我真的需要帮助,因为我之前从未见过有人问过(可能只是我看起来不够努力)。这是问题所在

@echo off
echo You hear something
echo ..Wake up or Sleep?
set /p WoS= 
if %WoS% == "Wake up" goto Wake up
if %WoS% == Sleep goto Sleep

:"Wake up"
echo There was no one there.
pause
echo There are 2 doors, Left or Right?
set /p Door=
if %Door% == Left goto Left
if %Door% == Right goto Right

:Left
pause

:Right 
pause

:Sleep
exit

绝对不是最整洁的,但我正在尝试。

我看到了一些有关报价的信息,但是没有用。我希望用户能够输入Wake up而不是一个单词。我认为它将wakeup视为不同的字符串。我该如何解决?

1 个答案:

答案 0 :(得分:0)

这是我的评论的延伸,以帮助您:

@Echo Off
Choice /C ws /N /M "You hear something, [W]ake up or [S]leep?"
If ErrorLevel 2 GoTo Sleep

:Wake
Echo There was no one there.
Timeout 3 /NoBreak>Nul
Choice /C lr /N /M "There are 2 doors, [L]eft or [R]ight?"
If ErrorLevel 2 GoTo Right

:Left
Pause
Rem You need a GoTo, or Exit statement here, to prevent running :Right below

:Right 
Pause

:Sleep
Exit /B