![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-10 12:05 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,255 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [惊奇] IF 竟然能比较十六进制数据的大小 |
| 可打印版本 1,154 / 9 |
| 第1楼 victor888 | 发表于 2008-11-14 14:17 |
| 初级用户 发帖 40 积分 50 | |
|
[惊奇] IF 竟然能比较十六进制数据的大小 不知道是不是我的无知,我试了:
if 40 LSS 3e (echo true) else (echo false) 其中分别用了3d,2f,3f等和3e比较大小,都给出正确的结果了。 |
|
| 第2楼 VAF | 发表于 2008-11-14 22:37 |
| 中级用户 发帖 134 积分 242 | |
|
恐怕你这个 if 不是纯 DOS 的 if 吧.
|
|
| 第3楼 pusofalse | 发表于 2008-11-15 00:16 |
| 银牌会员 发帖 646 积分 1,604 | |
|
只要不加""闭合两个元素。。。
|
|
| 第4楼 victor888 | 发表于 2008-11-18 13:51 |
| 初级用户 发帖 40 积分 50 | |
|
WINDOWS下的IF
楼上厉害。 |
|
| 第5楼 everest79 | 发表于 2008-11-18 18:57 |
| 金牌会员 发帖 1,127 积分 2,564 | |
|
cmd中八进制十六进制都是被直接识别的
|
|
| 第6楼 lpk130 | 发表于 2008-11-18 21:55 |
| 初级用户 发帖 30 积分 80 | |
|
这个并不能表示if支持16进制数......
if m lss n (echo.ok) else (echo.false) m ASCII:0x6D n ASCII:0x6E [ Last edited by lpk130 on 2008-11-18 at 22:06 ] |
|
| 第7楼 HAT | 发表于 2008-11-18 21:58 |
| 版主 发帖 5,017 积分 9,023 | |
|
Re 6楼 16进制数字里面有m和n吗?
|
|
| 第8楼 lpk130 | 发表于 2008-11-18 22:00 |
| 初级用户 发帖 30 积分 80 | |
|
又查了下,IF是可以支持16进制的..........
if 0x20 lss 32 (echo.ok) else (echo.false) |
|
| 第9楼 lpk130 | 发表于 2008-11-18 22:01 |
| 初级用户 发帖 30 积分 80 | |
Originally posted by HAT at 2008-11-18 21:58: 正因为没有,所以楼主的说法是错误的 那个时候IF并不是按16进制进行比较,而是按ASCII码(我是这么理解的)... 似乎IF的帮助信息里面说明了.. 而 /I 开关(如果指定)说明要进行的字符串比较不分大小写。 /I 开关可以用于 IF 的 string1==string2 的形式上。这些 比较都是通用的;原因是,如果 string1 和 string2 都是 由数字组成的,字符串会被转换成数字,进行数字比较。 [ Last edited by lpk130 on 2008-11-18 at 22:04 ] |
|
| 第10楼 HAT | 发表于 2008-11-18 22:20 |
| 版主 发帖 5,017 积分 9,023 | |
|
Re 9楼 你说的很对
楼主说的也很对 不过你们说的不是同一个问题 呵呵 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |