批处理bat条件判断运行之机器名判断
之前我们在前两节课中讲过条件判断则运行之进程判断,以及条件判则运行之ping判断。今天我们就来说下用机器名来做判断条件,根据不同机器名来做不同操作。可以让机器尾号为2的运行净网先锋,尾号3的不运行之类的。
首先在系统自带的环境变量中有计算机名自带的变量,变量名为COMPUTERNAME。系统自带的环境变量可以在开始--运行--输入cmd--在cmd里面输入set然后回车,就可以看到自带的环境变量了。环境变量在批处理中可以直接使用,用%%包围起来就可以了,例如COMPUTERNAME,在批处理中表示为%COMPUTERNAME%
代码如下
代码如下
-------------------------------------------------------------------
@echo off echo. echo. set /p weihao="请输入你要匹配的计算机尾号" if %COMPUTERNAME:~-1% == %weihao% (goto yes) else (goto no) :yes echo 说明这台机器的尾号确实是我们要找的&pause exit :no echo 说明这台机器的尾号不是我们要找的&pause exit
------------------------------------------------------------------
代码详解
set /p weihao="请输入你要匹配的计算机尾号"
这句意思是说,请输入一个值赋予给变量%weihao%,set /a为运算 set /p为赋值
if %COMPUTERNAME:~-1% == %weihao% (goto yes) else (goto no)
如果,变量%COMPUTERNAME%的最后一位字符等于%weihao%,那么则执行标记为yes的语句,否则执行标记为no的语句
这里面%COMPUTERNAME:~-1%意思为取变量%COMPUTERNAME%,-1位置的字符,从左往右是正数叠加。从右往左是负数叠加,例如
set str=123456789
第一个字符为:%str:~0,1%
头两个字符为:%str:~0,2%
头5个字符为:%str:~0,5%
最后一个字符为:%str:~-1%
倒数第4个字符为:%str:~-4,1%
倒数第4个及其之后的字符为:%str:~-4%
倒数第4个及其之后的1个字符为:%str:~-4,2%
倒数第4个及其之后的2个字符为:%str:~-4,3%
:yes
echo 说明这台机器的尾号确实是我们要找的&pause
这段代码意思是声明标记yes区段,:为标记的意思
echo为显示字符串的意思,你可以把这段改成其他的操作