我正在为用户界面编写一个批处理脚本,您可以在其中输入数字 1 - 10。 它很像这个例子:
@echo关闭:问中文名录回声按下 1 进行测试 1回声按下 2 进行测试 2设置/p 输入=如果 %输入% == 1 转到测试1如果 %输入% == 2 转到测试2如果 %输入% GTR 10 转到询问转到询问:测试1关闭:测试2网络视图暂停转到询问
我有 %input% GTR 10 转到询问,最后转到全局中询问,因为如果有人键入不同内容,它将返回到问题。为什么当我输入不同的东西时,它会让我崩溃出终端?
如果输入带空格的字符串,if
语法会给你一个语法错误。让我们看看:
if hello world == string echo xyz
if
语法为:if <value1> <comparator> <value2> command
所以hello
值 1,world
是比较器 - 等等 - 什么? world
不是比较器 - 语法错误。
安全起见,将您的值括在 quoutes 中:
if "hello world" == "string" echo xyz
因此"hello world"
是值 1,==
是比较器,"string"
是值 2,echo xyz
是命令。一切顺利。
您可能对 choice 命令感兴趣,该命令执行自己的错误处理,并且只允许有效键。