Использование операторов If в пакетных файлах
У меня есть сценарий партии (по образцу Джошуа в "Военные игры")
@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
Но когда я ввожу "Нет", он все равно показывает список игр...
1 ответ
Вам нужно удалить пробелы между именем переменной и =
символ при использовании set /p
, От:
set /p ifGame =
Для того, чтобы:
set /p ifGame=
В противном случае переменная, которую вы устанавливаете, имеет пробел в конце имени. Так %ifGame%
расширяется до нуля, тогда как %ifGame %
будет расширяться до правильного значения.