2014-05-08 54 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

相關問題