[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[系统相关] 批处理怎样提取计算机名中的数字并判断大小及奇偶?[已解决]

本帖最后由 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文件,如果是奇数则直接退出,这样说明应该比较清楚了吧。在此先谢谢热心的朋友们哈。
1

评分人数

    • CrLf: 感谢给帖子标题标注[已解决]字样PB + 2

数字一定是后三位吗?还是不确定位数呢?

TOP

支持楼上的,应该把情况写清楚
赞成“拿来主义”,但是鄙视“伸手党”

TOP

我看他计算机名猜应该是最后三位
  1. echo off
  2. set num=%computername%
  3. if %num:~-3% LEQ "200" (start "" "c:\windows\yes.exe") else (exit)
复制代码
1

评分人数

    • CrLf: 乐于助人技术 + 1
http://www.diecasting86.com

TOP

本帖最后由 l541306072 于 2011-11-8 00:05 编辑

哈哈,很感谢4楼的朋友哂,你理解只对一半,计算机名是CCC-A199这样的格式,但我只想提取后三个数字号作为一个值,并与给定的一个三位数值比较得出判断条件。

TOP

已解决的帖子就不要再去修改了,你可以重新开一帖
---学无止境---

TOP

本帖最后由 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)
谢谢大家
1

评分人数

    • CrLf: 感谢给帖子标题标注[已解决]字样PB + 2

TOP

if "%num:~-3%" leq "200"
1

评分人数

    • CrLf: 乐于助人PB + 3

TOP

本帖最后由 920168 于 2011-11-8 15:56 编辑

你的是无盘?
  1. echo off
  2. set num=%computername%
  3. set num1=200
  4. ::判断小于200
  5. if %num:~-3% LEQ %num1% (start "" "c:\windows\yes.exe") else (exit)
  6. ::判断奇偶
  7. 2>nul set/a 1/(%num:~-1%%%2)&&exit||start "" "c:\windows\yes.exe"
复制代码
1

评分人数

    • CrLf: 乐于助人技术 + 1
http://www.diecasting86.com

TOP

返回列表