DOS批处理命令-if语句
IF语句是批处理中执行的条件分歧处理。
批处理中,IF分歧的写法有好几种,接下来,我们来一个一个的分析IF语法的结构。
1、IF [NOT] ERRORLEVEL 番号 批处理命令
当ERRORLEVEL的值大于等于指定的番号的值时,执行指定的批处理命令。
@echo offcall :called0 IF ERRORLEVEL 100 (echo ERRORLEVEL = %ERRORLEVEL% )call :called1 IF ERRORLEVEL 100 (echo ERRORLEVEL = %ERRORLEVEL% )call :called2 IF ERRORLEVEL 100 (echo ERRORLEVEL = %ERRORLEVEL% )exit /b 200:called0 SETLOCALecho called0exit /b 99 ENDLOCAL:called1 SETLOCALecho called1exit /b 100 ENDLOCAL:called2 SETLOCALecho called2exit /b 101 ENDLOCAL
运行的结果为:
C:\Users\liuhongying>F:\tmp\a.bat
called0
called1
ERRORLEVEL = 100
called2
ERRORLEVEL = 101
发现,在返回值跟100比的时候,只有等于100和大于100的时候,执行到了下面的批处理命令,而在99的时候,就没有执行批处理命令,这个测试你结果,你就应该明白了吧!
2、IF [NOT] 文字列1==文字列2 批处理命令
这个判断是比较文字列1和文字列2是不是相等,如果是变量,就要用%来取出变量的值来比较。
IF [/I] [NOT] 文字列1==文字列2 批处理命令
有一个控制开关,/I,是控制比较的时候是不是忽略大小写。如果有/I这个开关存在的时候,比较的时候就会忽略大小写去比较。
看看下面这个例子,你就 应该全部明白了。
@echo offIF abcdef==abcdef (echo abcdef==abcdef )IF AbCdEF==abcdef (echo AbCdEF==abcdef )IF /I ABCDEF==abcdef (echo ABCDEF==abcdef )IF /I AbCdEF==abcdef (echo AbCdEF==abcdef )
F:\tmp>a.bat
abcdef==abcdef
ABCDEF==abcdef
AbCdEF==abcdef
3、IF [NOT] EXIST 文件名 批处理命令
帮助上面写的是判断文件名是否存在,其实,这个判断方法既可以判断文件是否存在,又可以判断路径是不是存在。
@echo offIF EXIST F:\tmp\a.bat (echo EXIST:F:\tmp\a.bat )IF EXIST F:\tmp (echo EXIST:F:\tmp )
执行结果:
F:\tmp>a.bat
EXIST:F:\tmp\a.bat
EXIST:F:\tmp
4、IF [/I] 文字列1 比較演算子 文字列2 批处理命令
对文字列1和文字列2按照比较演算子进行比较,比较结果为真的时候,就执行批处理命令指定的处理。
下面对几种比较演算子进行进行介绍。
EQU - 等于(等しい)
NEQ - 不等于(等しくない)
LSS - 小于(より小さい)
LEQ - 小于等于(以下)
GTR - 大于(より大きい)
GEQ - 大于等于(以上)
下边这个例子,对这几个判断符进行解说
@echo offecho EQU IF a EQU a (echo a EQU a )IF a EQU b (echo a EQU b )echo NEQ IF a NEQ a (echo a NEQ a )IF a NEQ b (echo a NEQ b )echo LSS IF a LSS a (echo a LSS a )IF a LSS b (echo a LSS b )IF b LSS a (echo b LSS a )echo LEQ IF a LEQ a (echo a LEQ a )IF a LEQ b (echo a LEQ b )IF b LEQ a (echo b LEQ a )echo GTR IF a GTR a (echo a GTR a )IF a GTR b (echo a GTR b )IF b GTR a (echo b GTR a )echo GEQ IF a GEQ a (echo a GEQ a )IF a GEQ b (echo a GEQ b )IF b GEQ a (echo b GEQ a )
运行结果为:
F:\tmp>a.bat
EQU
a EQU a
NEQ
a NEQ b
LSS
a LSS b
LEQ
a LEQ a
a LEQ b
GTR
b GTR a
GEQ
a GEQ a
b GEQ a
5、IF CMDEXTVERSION 番号 批处理命令
最初的CMDEXTVERSION的值是1,当扩展命令可以使用的时候,CMDEXTVERSION的值就比1大了。
并且,当扩张技能无效的时候,这个表达式命题恒为假。
更加具体的作用,这里不去探讨了,如果以后有需要,用到了,在去追加吧!
6、IF DEFINED 変数 批处理命令
如果指定的变数定义的时候,就执行批处理命令指定的处理。更加准确的描述应该是,指定的便是的值是空的时候,句执行批处理命令指定的处理。
@echo offset var1=abc set var3= set var4= IF DEFINED var1 (echo DEFINED var1 )IF DEFINED var2 (echo DEFINED var2 )IF DEFINED var3 (echo DEFINED var3 )IF DEFINED var4 (echo DEFINED var4 )
*var3=后面是没有设置空格
*var4=后面是设置空格的
运行结果为:
F:\tmp>a.bat
DEFINED var1
DEFINED var3
PS:以上的语法介绍中,都没有详细介绍另个重要点
A:所有加[NOT]的地方,如果加了NOT以后,就将判断的调节取反。
B:所有的命令都没有介绍else的语法,所有的IF判断,都是可以再行后最佳【else 批处理命令】,也就是说,当判断条件不成立的时候,执行批处理命令指定的处理。
更推荐的写法是,所有批处理命令都加上小括号,如下述结果
IF 条件 (条件为真的时候的处理 ) else (条件为假的时候的处理 )
转载于:https://www.cnblogs.com/gekal/p/3220397.html
DOS批处理命令-if语句相关推荐
- 克隆技术与DOS批处理命令
一.克隆工具: Ghost工具如下: 磁盘克隆: 1.磁盘克隆到另一个磁盘,会将被克隆磁盘数据覆盖.方法local→disk→to disk 2.磁盘写成镜像文件.方法local→disk→to im ...
- 计算机清除服务命令,计算机Dos批处理命令,一键清理Windows系统垃圾的bat代码...
通过计算机Dos批处理命令,编写一键清理Windows系统垃圾的bat代码,简单易懂,小白也可以学学. [新建记事本]-[复制代码]-[粘贴代码]-[重名名记事本,后缀名为bat] 开始时,选择是否清 ...
- dos批处理命令详解
一.简单批处理内部命令简介 1.Echo 命令 打开回显或关闭请求回显功能,或显示消息.如果没有任何参数,echo 命令将显示当前回显设置. 语法: echo [{on│off}] [mess ...
- dos批处理命令详解(转)
一.简单批处理内部命令简介 1.Echo 命令 打开回显或关闭请求回显功能,或显示消息.如果没有任何参数,echo 命令将显示当前回显设置. 语法: echo [{on│off}] [mess ...
- DOS 批处理命令学习1
1 控制台颜色设置 命令和参数, color fc, 变为如下, color 2,变为如下: 2 GOTO 和 call 命令格式: 新建一个testgoto.bat:当前目录有如下内容: 执行此批处 ...
- DOS批处理命令之start命令
start 命令语法:关于DOS(磁盘操作系统)
- Windows操作系统cmd/Dos批处理命令与脚本手册bat
Windows操作系统命令与脚本总结 管理员权限: 添加账号并加入管理员组 添加用户至远程桌面组 允许修改密码 防火墙 : 关闭防火墙 匹配出注册表信息中的软件: 获取完整补丁信息(比systemin ...
- java调用bat脚本实现pppoe拨号_使用 DOS 批处理命令实现宽带 ADSL 开机自动连接
利用 Windows 的自带命令实现宽带自动连接 笔者使用的是云南文山州网通的全包月宽带,每次开机后第一件事就是连接网络,由于云南文山州网通拨号程序没有提供自动拨号选项,因此必须手工输入用户名和密码, ...
- 批处理处理远程计算机,使用DOS批处理命令实现远程主机的重启与关机、注销
如果是win98系统: 在快捷方式的属性里输入如下内容:rundll32.exe,user.exe,exitwindows 如果是NT内核的系统,如:winxp win2000.2003(它里面没有s ...
最新文章
- R语言ggplot2可视化:在选定数据点周围添加圆圈(Add Circles Around Select Data Points)
- 【数据平台】pandas按条件去重
- springMVC项目在jboss7中配置应用自己的log4j--转载
- keras多输出模型
- mongo oplog 整理
- 【PAT甲级 一个字符数组是否被另一个包含】1092 To Buy or Not to Buy (20 分) C++
- 用memcached实现session共享
- ABP入门系列(5)——展现层实现增删改查
- Android轮播图
- 人工智能语音交互技术与应用
- 序列平稳性和纯随机性检验
- PPT怎么切换不同的母版
- 粒子滤波的通俗解释,傻子的搜寻策略--我的理解_拔剑-浆糊的传说_新浪博客
- 《阿里云前端技术周刊》第二期
- 【Microsoft Azure 的1024种玩法】二十八. 基于Azure Cloud搭建IPS入侵防御系统实现安全流量实时分析
- [0]SWM181-从零开发华芯微特MCU
- win7系统IE浏览器安装遇到提示“Internet Explorer未能完成安装”如何解决
- 分析基于Jsp+Servlet+JavaBean的个人信息管理系统的运行流程
- AndroidStudio查看模拟机生成的数据库文件
- [架构设计] 结构型模型