批处理x或y语句问题

时间:2019-01-08 01:50:27

标签: batch-file

if %input%==0 || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || "A" || "B" || "C" || "D" || "E" || "F" goto Text

我尝试使用此行,以便如果%input%为0、1、2、3、4、5、6、7、8、9,A,B,C,D,E或F,它将转到:Text但它只是关闭提示(后面没有任何内容)。我该如何做我想做的事?

1 个答案:

答案 0 :(得分:2)

如下面所述,您的评论或this post-Double Pipes; ||仅在先前命令的错误级别不为0(或换句话说,失败)时才执行以下命令。

解决此问题的一种简单方法是使用for loop遍历多个变量,并在IF语句中将它们与您的字符串进行比较。如果有匹配项,它将使用您帖子中列出的GOTO命令。如果找不到匹配项,它将结束循环。请注意,ELSE命令可用于重定向不匹配的结果。 if "%input%"==%%A (goto Text) ELSE (goto NoMatchesFound)

for %%A in ("1" "2" "3" "4" "5" "6" "7" "8" "9" "A" "B" "C" "D" "E" "F") do (if "%input%"==%%A (goto Text))