2014-05-08 55 views
0

我有一批脚本(约书亚仿照在“战争游戏”)使用如果批处理语句文件

@echo off 
color 0b 
echo Greetings, Professor Falken 
set /p interface = 
echo Would You Like to Play a Game? 
set /p ifGame = 
if /i "%ifGame%" =="yes" goto yesgame 
if /i "%ifGame%" =="no" goto nogame 
:yesgame 
echo List of Games 
echo chess 
echo Poker 
echo Fighter Combat 
echo Guerilla Warfare 
echo Desert Warfare 
echo Air-to-Ground Actions 
echo Theaterwide Tactical Warfare 
echo Theaterwide Biotoxic and Chemical Warfare 
echo Global Thermonuclear War 
pause 
echo Which game would you like to play? 
set /p WhichGame = 
pause 
exit 
:nogame 
set /p areYouSure=Are You Sure? 
pause 
exit 

但是,当我进入“否”它仍然显示的游戏列表...

回答

3

使用set /p时,需要删除变量名称和=符号之间的空格。来源:

set /p ifGame = 

要:

set /p ifGame= 

否则你设置的变量在名字的后面加上一个空格。因此%ifGame%扩展为空,而%ifGame %将扩展为正确的值。

+0

非常感谢!我不敢相信我没有看到... – DannyP24

+0

是的,很容易在批处理中产生类似的小错误。特别是来自像Python这样的东西。批量非常简单,通常会解释空白。没问题。 – unclemeat

+0

@ DannyP24请[接受](http://stackoverflow.com/help/accepted-answer)答案,如果它为你工作。 – unclemeat

相关问题