Variables 批量检查变量是否为负值

Variables 批量检查变量是否为负值,variables,if-statement,batch-file,set,false-positive,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 Succes

我有一个小问题,在批,我没有找到一个办法来解决它! 我正在处理一个点系统,只需要一个字符串来检查变量是否为负。 应该是这样的:

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 !
set/p点=10
设定/付款价格=15
设置/a结果=%points%-%price%
如果结果<0(转到错误)否则(转到完成)
:错误
你没有足够的分数!
:完成
echo事务成功完成!
关键是,我想根据定义货币的变量(或类似的变量)是正的还是负的,将用户重定向到不同的标签

编辑:4年后,感谢你帮助了一个糟糕的剧本,孩子,我现在正在学习它:D

if result LSS 0 ...

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

我是一个有点批处理文件的noob(但是一个有抱负的爱好者!),所以如果我的回答没有帮助,请原谅

通过在命令行中键入
if/?
,您将看到以下比较运算符:

在本例中,我将使用以下语法:

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

我希望这有帮助

我的意思是,如果结果<0(转到错误)或其他(转到完成)尝试将其替换为
如果结果LSS 0(转到错误)或其他(转到完成)
LSS
意味着小于。如果您想要大于,
GEQ
表示大于或等于,
LEQ
表示小于或等于,
eq
表示等于或
NEQ
表示不等于。您好!我有几分钟的空闲时间,决定在此基础上进行扩展,并纠正一些错误。此文件经过测试,似乎正常工作。如果有任何错误,请告诉我。
if result LSS 0 (goto :error) else (goto :done)