我想知道如何在一行中使用“大于”和“小于” 我想制作一系列数字,如20-30(20,21,22,23,24,25,26,27,28,29,30。)
If %number% GTR 20 LSS 30 echo "this is inside 20-30"
如果我这样做,那么我得到一个错误: LSS不被识别为内部或外部命令。 请帮助我制作卡车游戏,我需要这个。
答案 0 :(得分:3)
只需使用2个IF语句
if %number% geq 20 if %number% leq 30 echo %number% is between 20-30 inclusive
答案 1 :(得分:2)
您可以使用简单的算术技巧来执行此测试:
set /A "range=0,b=(20-number)*(number-30),range=(b-1)/b" 2>nul
if %range% equ 0 echo this is inside 20-30
此方法允许您测试一个数字是否在多个范围中的任何一个内部,只是扩展算术表达式并使用一个 if
命令;您必须注意,此方法还允许您以最简单的方式正确使用else
部分。有关详情,请访问this post。
答案 2 :(得分:1)
DOS批处理文件中没有逻辑和运算符。为了达到你想要的效果,你需要将它们嵌套起来:
if %number% gtr 20 (if %number% lss 30 ( echo "this is inside 20-30"))