批量检查变量是否为负数

时间:2013-07-19 18:11:02

标签: variables if-statement batch-file set false-positive

我在批处理方面有一点问题,我找不到解决方法! 我正在研究一个点系统,只需要一个字符串来检查变量是否为负数。 它会是这样的:

set /p points=10
set /p price=15
set /a result=%points%-%price%
if result < 0 ( goto error ) else ( goto done)

:error
echo You have not enough Points !

:done
echo Transaction Successfully Finished !

关键是,我想将用户重定向到另一个标签,具体取决于定义金钱的变量(或类似的东西)是正面还是负面的。

编辑:4年后,感谢帮助了一个糟糕的剧本小子,我现在正在研究它:D

2 个答案:

答案 0 :(得分:6)

我是一个批处理文件noob(但是一个有抱负的发烧友!)所以请原谅我,如果我的答案没有帮助大声笑。

在命令行输入if /?,您将看到这些比较运算符:

EQU - equal
NEQ - not equal
LSS - less than
LEQ - less than or equal
GTR - greater than
GEQ - greater than or equal

在这种情况下,我会使用以下语法:

if result LSS 0 (goto :error) else (goto :done)

我希望这有帮助!

答案 1 :(得分:0)

if result LSS 0 ...

或GTR GEQ LEQ EQU NEQ取决于所需的比较。