【发布时间】:2021-09-04 03:48:02
【问题描述】:
我正在为用户界面编写一个批处理脚本,您可以在其中输入数字 1 - 10。它非常类似于这个示例:
@echo 关闭 :问 分类 回声按 1 进行测试 1 回声按 2 进行 test2 设置 /p 输入= 如果 %input% == 1 转到 test1 如果 %input% == 2 转到 test2 如果 %input% GTR 10 去询问 去问 :测试1 关掉 :测试2 净视图 暂停 去问我有 if %input% GTR 10 goto ask,最后 goto ask in global 因为如果有人键入不同的内容,它将回到问题。 当我输入不同的内容时,为什么它会让我退出终端?
【问题讨论】:
-
只处理您需要的案例,其他一切发送至
ask。目前,任何字母或未覆盖的数字 (3-9) 都只会执行代码,直到到达脚本末尾,因为没有任何“ifs”适用。此外,您需要指定一个有效的结束标记。目前您的输入 1 将执行:test1,但也将执行test2。一旦你想要的代码部分被执行,你应该添加goto :eof。 -
我如何发送所有其他问题,这是我的问题
-
删除
echo off并再次运行它 - 从打开的命令行窗口。你应该看看,有什么问题,很明显。
标签: batch-file