批量检查变量是否为负数

rat*_*ney 2 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 !
Run Code Online (Sandbox Code Playgroud)

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

编辑:4年后,感谢帮助一个可怜的脚本kiddo,我现在正在研究IT:D

小智 6

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

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

EQU - equal
NEQ - not equal
LSS - less than
LEQ - less than or equal
GTR - greater than
GEQ - greater than or equal
Run Code Online (Sandbox Code Playgroud)

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

if result LSS 0 (goto :error) else (goto :done)
Run Code Online (Sandbox Code Playgroud)

我希望这有帮助!