我希望“输入”无效,并重申可接受的回应。
echo. Do you want to root your Nexus 5?
echo. -----------------------------------------
echo.
echo.
echo. Y. Red Pill......
echo. ----------------------------------------
echo.
echo or
echo.
echo. N. Blue Pill......
echo. ----------------------------------------
echo.
set /p root=" Red Pill or Blue Pill?: "
if %root%==Y (root\run.bat)
if %root%==N (exit)
if %root%==y (root\run.bat)
if %root%==n (exit)
这是 Windows,32 位。
答案1
您可以使用标签和 Goto 来创建子程序。
尝试这样的操作:
echo. Do you want to root your Nexus 5?
echo. -----------------------------------------
echo.
echo.
echo. Y. Red Pill......
echo. ----------------------------------------
echo.
echo or
echo.
echo. N. Blue Pill......
echo. ----------------------------------------
echo.
:prompt
set /p root=" Red Pill or Blue Pill?: "
if "%root%"=="Y" goto runBat
if "%root%"=="N" goto exit
if "%root%"=="y" goto runBat
if "%root%"=="n" goto exit
if "%root%"=="" goto prompt
:runBat
root\run.bat
goto exit
:exit
如果您想使 Y 或 N(以及 y 或 n)以外的任何内容无效(而不仅仅是 Enter),那么只需删除该if "%root%"==""
部分,只留下goto prompt
该行。
答案2
以下是如何在脚本中创建这样的菜单JP Software 的 TCC/LE:
@echo 关闭 :: 药丸.btm 文本 您想要 root 您的 Nexus 5 吗? ----------------------------------------- Y.红色药丸...... ---------------------------------------- 或者 N.蓝色药丸...... ---------------------------------------- 结束语 inkey /k"YNRB" ` `红色药丸还是蓝色药丸?:` ` %%root 开关“%root%” 案例“Y”或“R” 调用 root\运行 案例 "N" 或 "B" 出口 端开关
选项/k
限制inkey
了哪些按键是可接受的,从而消除了在给出无效选择时循环并打印额外提示的需要。该switch
命令进行不区分大小写的比较,并且还支持.OR.
。
当然,TCC(及其前身)一直都可以轻松地通过命令脚本呈现更好的用户界面。以下是上述内容的改进版本:
@echo 关闭 :: 药丸.btm cls 白色底蓝色 drawbox 1 10 6 70 2 绿色黑色填充缩放阴影 drawhline 3 12 57 1 黑底绿线 scrput 2 24 黑底白色 您想要 root 您的 Nexus 5 吗? scrput 4 34 红色黑色 Y. 红色药丸 scrput 5 34 蓝色黑色 N. 蓝色药丸 drawbox 10 39 12 41 2 黑色底色上绿色填充阴影 屏幕 11 40 输入键/k“YNRB”%%root 开关“%root%” 案例“Y”或“R” cls 黑底白字 scrput 4 34 红色黑色 Y. 红色药丸 屏幕 11 0 调用 root\运行 案例 "N" 或 "B" cls 黑底白字 scrput 5 34 蓝色黑色 N. 蓝色药丸 屏幕 11 0 出口 端开关
它只长了一行,但却有相当多的改进,其中最重要的是所选“药丸”的彩色显示。
但是,Windows 中的命令脚本没有必要具有文本用户界面。TCC 还可以制作图形版本,只需 3 行代码:
@echo 关闭 msgbox /2 /q continueabort“红色药丸,蓝色药丸”即将 root 你的 Nexus 5 如果 %_? == 15 调用 root\run
call
顺便说一下,请注意 的使用。这是techie007
脚本中的一个错误。☺
而且已经过去了 25 年多。我们不必使用command
的.bat
扩展名。微软从 OS/2 版本 1 开始cmd
就一直在使用。您会注意到我在上面使用了 TCC/LE — 这是编写适用于 4NT、4DOS 和 4OS2 的脚本时养成的习惯。.cmd
.btm
.btm
进一步阅读
- JP 软件。英基. 采取命令/TCC 帮助。
- JP 软件。消息框. 采取命令/TCC 帮助。
- JP 软件。转变. 采取命令/TCC 帮助。
- JP 软件。称呼. 采取命令/TCC 帮助。
- JP 软件。.BAT、.CMD 和 .BTM 文件. 采取命令/TCC 帮助。