无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 3108|回复: 8
打印 上一主题 下一主题

[已解决] checkrange 为什么不能检测 -1

[复制链接]
跳转到指定楼层
1#
发表于 2013-12-21 23:19:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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



2#
发表于 2013-12-21 23:24:51 | 只看该作者
calc 一个负数,貌似结果为0

点评

calc -1 返回的是 -1  发表于 2013-12-22 09:46
回复

使用道具 举报

3#
 楼主| 发表于 2013-12-24 16:16:54 | 只看该作者
这个问题有高手能帮忙解答一下吗?
回复

使用道具 举报

4#
发表于 2013-12-24 23:48:38 来自手机 | 只看该作者
checkrange的-1和calc的-1意义不同
回复

使用道具 举报

5#
 楼主| 发表于 2013-12-25 11:12:56 | 只看该作者
如果要检测一个变量的值是否为 0 或 -1 或 -2 ,该怎么操作?

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

使用道具 举报

6#
 楼主| 发表于 2013-12-26 08:48:47 | 只看该作者
如果 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%


回复

使用道具 举报

7#
发表于 2013-12-27 09:46:44 | 只看该作者
set n=-1
set /a nn=0 - %n%

点评

原来中间可以有空格的,谢谢 sratlf 版主,学习了!  发表于 2013-12-27 09:58
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-5-13 20:59

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表