我怎样才能使用" GTR"和" LSS"在一条线上

时间:2014-05-05 11:50:24

标签: batch-file if-statement

我想知道如何在一行中使用“大于”和“小于” 我想制作一系列数字,如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不被识别为内部或外部命令。 请帮助我制作卡车游戏,我需要这个。

3 个答案:

答案 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"))