楼 主
[求助]批处理中的比较
发表于 2006-05-05 09:39 · 中国 广西 南宁 电信
新手上路
★
积分 18 发帖 5 注册 2006-03-30 23:19 UID 53076
状态 离线
内网全部计算机名命名方式是前缀+顺序数字 ,比如la001 ---la100
获取本机计算机名(用hostname),获得出来后比较计算机名的数字,如果小于100,则什么什么。。。。。。
如果大于100,则。。。。。。。
本人懂得一点,就是用HOSTNAME获得计算机名,然后提取计算机名的数字,再和100比较大小。。。。就知道这么多,具体的就不知道了
请问大家如何实现,谢谢了
第 2 楼
发表于 2006-05-05 11:24 · 中国 湖北 荆门 电信
荣誉版主
★★★
积分 2,013 发帖 718 注册 2006-02-18 07:07 UID 50550
状态 离线
Re punk101:
其实获得计算机名并非一定要用hostname,在XP系统中,你可以用COMPUTERNAME变量来获得计算机名,如果你的计算机没有加入域的话还可以用USERDOMAIN,LOGONSERVER等变量来获得。如果你一定要用hostname的话,最常见的是用for来提取:
for /f %i in ('hostname') do set name=%i
提取了计算机名后,再和100比较大小:
if %name:~2% LSS 100 (echo 小于100) else (echo 大于等于100)
第 3 楼
看不太懂~
发表于 2006-05-05 19:40 · 中国 福建 泉州 电信
高级用户
★★
论坛灌水专业户
积分 613 发帖 266 注册 2006-04-19 22:47 UID 54113 来自 河南省
状态 离线
饮马恒河畔,剑指天山西,碎叶城揽月,库叶岛赏雪,黑海之滨垂钓,贝尔加湖面张弓;中南半岛访古,东京废墟祭祖!
第 4 楼
发表于 2006-05-05 21:40 · 中国 广西 南宁 电信
新手上路
★
积分 18 发帖 5 注册 2006-03-30 23:19 UID 53076
状态 离线
谢谢3742668版主,已经可以实现了
但还有个小问题想问下你。。。比较中LSS是小于,,,大于是什么,谢谢了
第 5 楼
发表于 2006-05-05 22:25 · 中国 湖北 荆门 电信
荣誉版主
★★★
积分 2,013 发帖 718 注册 2006-02-18 07:07 UID 50550
状态 离线
EQU - 等于
NEQ - 不等于
LSS - 小于
LEQ - 小于或等于
GTR - 大于
GEQ - 大于或等于
运行if /?可以得到更多的帮助。
第 6 楼
发表于 2006-05-05 23:22 · 中国 广西 南宁 电信
新手上路
★
积分 18 发帖 5 注册 2006-03-30 23:19 UID 53076
状态 离线
好奇怪的是。。。在实际应用时候,LSS却是大于的。。。。
GRT却是小于。。。。不解。。你可以帮我试下看吗
第 7 楼
发表于 2006-05-05 23:37 · 中国 湖北 荆门 电信
荣誉版主
★★★
积分 2,013 发帖 718 注册 2006-02-18 07:07 UID 50550
状态 离线
是你的代码有毛病吧?你多检查检查。
在用if比较前先用echo把变量显示出来,再用pause中断了检查看看。。。
对了,只能比较整数,不能比较小数和字符串。
我这里测试LSS正常:
if 3 LSS 5 (echo 3小于5) else (echo 3大于5)
3小于5
第 8 楼
发表于 2006-05-06 07:44 · 中国 广西 南宁 电信
新手上路
★
积分 18 发帖 5 注册 2006-03-30 23:19 UID 53076
状态 离线
已经可以了,原来显示出来的变量是错的。。。。
我修改后就得了
谢谢3742668版主的热心~~~
以后要是有什么问题还请多多指教:)
第 9 楼
发表于 2006-05-06 13:11 · 中国 湖北 荆门 电信
荣誉版主
★★★
积分 2,013 发帖 718 注册 2006-02-18 07:07 UID 50550
状态 离线
关于在批处理中用if比较数值的大小,建议在用if比较前先对变量进行审核。
在本例中,由于你是用%name:~2%来获得数值的,所以如果编号是0开头的话,那么转换过后的数值应该是以8进制表示,实际变量的值要比估计的要小。因此,最好在比较前先处理一下:
set num=1%name:~2%
if %num% lss 1100 ..........
虽然上述情况在你的脚本中与100比较的时候可能碰不到,不过在用if进行数值比较前先对变量进行处理应该是个好习惯。
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正