我正在使用的代码:
@echo off
SETLOCAL EnableDelayedExpansion
for /F "tokens=1,2 delims=#" %%a in ('"prompt #$H#$E# & echo on & for %%b in (1) do rem"') do (
set "DEL=%%a"
)
goto :Start
:ColorText
echo off
<nul set /p ".=%DEL%" > "%~2"
findstr /v /a:%1 /R "^$" "%~2" nul
del "%~2" > nul 2>&1
goto :eof
:Start
:menu1
set /a select = 0
cls
call :ColorText 0a "Menu"
echo.
call :ColorText fb "Option1"
echo.
call :ColorText 0b "Option2"
echo.
call :ColorText 0b "Option3"
echo.
call :ColorText 0e "(W and S to scroll and Q to select)"
choice /c:wsq /n > nul
if errorlevel == w goto menu3
if errorlevel == s goto menu2
if errorlevel == q goto Option1
else goto menu1
:Option1
cls
echo This is Option1.
pause
goto Start
:menu2
set /a select = 0
cls
call :ColorText 0a "Menu"
echo.
call :ColorText 0b "Option1"
echo.
call :ColorText fb "Option2"
echo.
call :ColorText 0b "Option3"
echo.
call :ColorText 0e "(W and S to scroll and Q to select)"
choice /c:wsq /n > nul
if errorlevel w{
set /a select = 1
}
if errorlevel s{
set /a select = 3
}
if errorlevel q{
goto Option2
}
if %select%==1 goto menu1
if %select%==3 goto menu3
:menu3
set /a select = 0
cls
call :ColorText 0a "Menu"
echo.
call :ColorText 0b "Option1"
echo.
call :ColorText 0b "Option2"
echo.
call :ColorText fb "Option3"
echo.
call :ColorText 0e "(W and S to scroll and Q to select)"
choice /c:wsq /n > nul
if errorlevel w{
set /a select = 2
}
if errorlevel s{
set /a select = 1
}
if errorlevel q{
goto Option3
}
if %select%==1 goto menu1
if %select%==2 goto menu2
:Option2
cls
echo This is Option2.
pause
goto Start
:Option3
cls
echo This is Option3.
pause
goto Start
我一直收到一个错误,当我使用“w”、“s”或“q”时,它一直跳过它应该指向的内容,并使用它下面的代码。
我该怎么做才能把它贴到它的实际标签上呢?如果可能的话,我可以在命令中使用Enter键和箭头键而不是“w”、“s”或“q”吗?
发布于 2018-08-10 11:08:00
choice /c:wsq /n > nul
if %errorlevel%==1 goto menu3
if %errorlevel%==2 goto menu2
if %errorlevel%==3 goto Option1
https://stackoverflow.com/questions/-100008776
复制相似问题