标题: [系统相关] 批处理怎样提取计算机名中的数字并判断大小及奇偶?[已解决] [打印本页]
作者: l541306072 时间: 2011-11-7 00:05 标题: 批处理怎样提取计算机名中的数字并判断大小及奇偶?[已解决]
本帖最后由 pcl_test 于 2016-7-16 00:21 编辑
有600台电脑,其中计算机名是这样按排的:CCC-A001 ~ CCC-A200 ,CCC-B201 ~ CCC-B400 , CCC-C401 ~ CCC-C600 ,现有这样的需求:
第一种功能是:计算机名中的数字是由固定三位数字组成的顺序号,希望高人能帮解题呀.如下调用:
@echo %computername%
取得计算机名CCC-A199,但现只想提取数字号199,并判该数字号是否小于200,如果小于或等于200,则执行行c:\windows\yes.exe文件,如果大于200直接退出
第二种功能是:计算机名中的数字是由固定三位数字组成的顺序号,希望高人能帮解题呀.如下调用:
@echo %computername%
取得计算机名CCC-A199,但现只想提取数字号199,并判该数字号是否为偶数,如果是偶数,则执行行c:\windows\yes.exe文件,如果是奇数则直接退出,这样说明应该比较清楚了吧。在此先谢谢热心的朋友们哈。
作者: CrLf 时间: 2011-11-7 07:17
数字一定是后三位吗?还是不确定位数呢?
作者: bingxing8000 时间: 2011-11-7 09:17
支持楼上的,应该把情况写清楚
作者: 920168 时间: 2011-11-7 10:43
我看他计算机名猜应该是最后三位- echo off
- set num=%computername%
- if %num:~-3% LEQ "200" (start "" "c:\windows\yes.exe") else (exit)
复制代码
作者: l541306072 时间: 2011-11-7 21:08
本帖最后由 l541306072 于 2011-11-8 00:05 编辑
哈哈,很感谢4楼的朋友哂,你理解只对一半,计算机名是CCC-A199这样的格式,但我只想提取后三个数字号作为一个值,并与给定的一个三位数值比较得出判断条件。
作者: broly 时间: 2011-11-8 00:06
已解决的帖子就不要再去修改了,你可以重新开一帖
作者: l541306072 时间: 2011-11-8 13:42
本帖最后由 pcl_test 于 2016-7-16 00:21 编辑
先谢谢920168 这位朋友,你给出了第一种功能的解法,但我试了好像运行不正常,比如我在CCC-A101号电脑运行这个批处理,按我给的条件:从计算机名中提取的101应该是满足的小于200的,,但没有运行c:\windows\yes.exe
echo off
set num=%computername%
if %num:~-3% LEQ "200" (start "" "c:\windows\yes.exe") else (exit)
谢谢大家
作者: awk 时间: 2011-11-8 14:14
if "%num:~-3%" leq "200"
作者: 920168 时间: 2011-11-8 14:18
本帖最后由 920168 于 2011-11-8 15:56 编辑
你的是无盘?- echo off
- set num=%computername%
- set num1=200
- ::判断小于200
- if %num:~-3% LEQ %num1% (start "" "c:\windows\yes.exe") else (exit)
- ::判断奇偶
- 2>nul set/a 1/(%num:~-1%%%2)&&exit||start "" "c:\windows\yes.exe"
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |