看了这篇彩色显示,撸了一个高亮单选菜单http://www.bathome.net/redirect.php?goto=findpost&pid=252648&ptid=61903
测试的是win11系统- @echo off & cd /d "%~dp0"
- call :get_menu "menu-item-1" "menu-item-2" "menu-item-3" "menu-item-4" "menu-item-5"
- echo 选择了第%errorlevel%项
- pause&exit
- REM 选择菜单,参数 菜单列表 ...
- :get_menu
- set "_n=0"
- for %%i in (%*) do set /a "_n+=1"
- if "%_cur%"=="" set "_cur=1"
- call :show_menu %_cur% %*
- echo.
- choice /C "WSY" /N /M "WS切换,Y确定"
- if "%errorlevel%"=="3" exit /b %_cur%
- if "%errorlevel%"=="2" if %_cur% lss %_n% set /a "_cur+=1"
- if "%errorlevel%"=="1" if %_cur% gtr 1 set /a "_cur-=1"
- cls&goto :get_menu %*
- REM 显示菜单
- :show_menu
- set /a "_i=%~1,_j=1" & shift /1
- :L1
- if "%~1"=="" goto :eof
- if "%_i%"=="%_j%" ( call :show_str 0 255 0 %~1 ) else ( call :show_str 255 255 255 %~1)
- shift /1 & set /a "_j+=1" & goto :L1
- REM 显示彩色字符串,参数 R,G,B,str
- :show_str
- echo.[38;2;%~1;%~2;%~3m%~4[m
- goto :eof
复制代码 |