我有一个批处理游戏,特别是对一个人有一些问题,当她(那个人)不在附近时,我总是会更改文件,这有点令人惊讶。 问题是我一直在显示不同类型的问题,但有时GOTO或IF语句只是无法正常工作,它只是沿行显示或退出文件。
@ECHO OFF
setlocal EnableDelayedExpansion
ECHO.
ECHO "i just skipped all this echo for you"
pause>nul
:choice
cls
set /p c=Question 1[y/n]
if /I "%c%" EQU "Y" goto :somewhere
if /I "%c%" EQU "N" goto :somewhere_else
goto :choice
:somewhere
cls
cd "-somewhere in my pc-"
start "-the file-"
cls
goto :somewhere1
:somewhere1
cls
echo.
echo "skip"
pause>NUL
goto :somewhere2
:somewhere2
cls
echo.
set /p c1=question 2
if /I "!c1!"== "option1" goto :correct
if not /I "!c1!"== "option1" goto :somewhere_else1
:correct
cls
echo.
echo "skip"
echo.
echo enter to exit
pause>nul
exit
:somewhere_else1
cls
echo.
echo bad answer
pause>nul
goto :somewhere2
这是我的问题:
问您一个问题
:choice
cls
set /p c=Question 1[y/n]
if /I "%c%" EQU "Y" goto :somewhere
if /I "%c%" EQU "N" goto :somewhere_else
goto :choice
它只能正常工作,过去无法使用,但是我神奇地修复了它,不知道自己在做什么。 但是然后我只是想将其放大并添加下一行:
:somewhere2
cls
echo.
set /p c1=question 2
if /I "!c1!"== "option1" goto :correct
if not /I "!c1!"== "option1" goto :somewhere_else1
现在文件正在完美执行“:correct”部分,但没有执行“:somewhere_else1”。在“:somewhere_else1”的情况下,它只是退出文件。过去也要退出正确的文件,但是我又修复了它,只是再次写入它。