无忧启动论坛

标题: checkrange 为什么不能检测 -1 [打印本页]

作者: stevenldj    时间: 2013-12-21 23:19
标题: checkrange 为什么不能检测 -1
本帖最后由 stevenldj 于 2013-12-26 21:11 编辑

checkrange 0 calc 0 && echo ok ! echo fail
输出:ok

checkrange 1 calc 1 && echo ok ! echo fail
输出:ok

checkrange -1 calc -1 && echo ok ! echo fail
输出:fail

checkrange 0xFFFFFFFFFFFFFFFF calc -1 && echo ok ! echo fail
输出:fail

checkrange 0xFFFFFFFFFFFFFFFF calc 0xFFFFFFFFFFFFFFFF && echo ok ! echo fail
输出:fail




作者: 神的马甲    时间: 2013-12-21 23:24
calc 一个负数,貌似结果为0
作者: stevenldj    时间: 2013-12-24 16:16
这个问题有高手能帮忙解答一下吗?
作者: sratlf    时间: 2013-12-24 23:48
checkrange的-1和calc的-1意义不同
作者: stevenldj    时间: 2013-12-25 11:12
如果要检测一个变量的值是否为 0 或 -1 或 -2 ,该怎么操作?

set n=-1
checkrange 0,-1,-2 calc %n% && echo ok ! echo fail

作者: stevenldj    时间: 2013-12-26 08:48
如果 checkrange 不能检测 -1,那么就只有用 if 了

set n=-1
if %n%==-1 || if %n%==-2 || if %n%==0 || echo fail ! echo ok

如果想对负数取绝对值好像也没办法实现:
set n=-1
set /a nn=0-%n%



作者: sratlf    时间: 2013-12-27 09:46
set n=-1
set /a nn=0 - %n%




欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) Powered by Discuz! X3.3