IF  Performs conditional processing in batch programs.

在批程序中执行条件处理。

IF [NOT] ERRORLEVEL number command
IF [NOT] string1==string2 command
IF [NOT] EXIST filename command

NOT              指定只有条件为 false 的情况下, Windows 2000 才应该执行该命令。

ERRORLEVEL number 如果最后运行的程序返回一个等于或大指定数字的退出编码,指定条件为 true。

string1==string2 如果指定的文本字符串匹配,指定一个 true条件。

EXIST filename   如果指定的文件名存在,指定一个 true 条件。

command          如果条件符合,指定要执行的命令。如果指定的条件为 FALSE,ELSE 命令可随在命令之后,ELSE命令将在 ELSE 关键字之后执行该命令。

ELSE 子句必须在 IF 之后出现在同一行上。例如:

IF EXIST filename. (
       del filename.
   ) ELSE (
       echo filename. missing.
   )

因为 del 命令需要用一个新行终止,以下子句不会有效:

IF EXIST filename. del filename. ELSE echo filename. missing

由于ELSE 命令必须与 IF 命令的尾端在同一行上,以下子句也
不会有效:

IF EXIST filename. del filename.
   ELSE echo filename. missing

如果都放在同一行上,以下子句有效:

IF EXIST filename. (del filename.) ELSE echo filename. missing

如果命令扩展名被启用,IF 会如下改变:

IF [/I] string1 compare-op string2 command
   IF CMDEXTVERSION number command
   IF DEFINED variable command

其中,比较运算符可以是:

EQU - 等于
   NEQ - 不等于
   LSS - 小于
   LEQ - 小于或等于
   GTR - 大于
   GEQ - 大于或等于

及 /I 命令选项;如果该命令选项被指定,则说明要进行的字符串比较不分大小写。/I 命令选项可以用于 IF 的 string1==string2 的形式上。这些比较都是通用的;原因是,如果 string1 和 string2 都是由数字组成的,字符串会被转换成数字,进行数字比较。

CMDEXTVERSION 条件的作用跟 ERRORLEVEL 的一样,除了它是在跟与命令扩展名有关联的内部版本号比较。第一个版本是 1。每次对命令扩展名有相当大的增强时,版本号会增加一个。命令扩展名被停用时,CMDEXTVERSION 条件不是真的。

如果已定义环境变量,DEFINED 条件的作用跟 EXISTS 的一样,除了它取得一个环境变量,返回的结果是 true。

如果没有名为 ERRORLEVEL 的环境变量,%ERRORLEVEL%会扩充为 ERROLEVEL 当前数值的字串符表达式;否则,您会得到其数值。运行程序后,以下语句说明 ERRORLEVEL 的用法:

goto answer%ERRORLEVEL%
   :answer0
   echo Program had return code 0
   :answer1
   echo Program had return code 1

您也可以使用以上的数字比较:

IF %ERRORLEVEL% LEQ 1 goto okay

如果没有名为 CMDCMDLINE 的环境变量,%CMDCMDLINE%将在 CMD.EXE 进行任何处理前扩充为传递给 CMD.EXE 的原始命令行;否则,您会得到其数值。

如果没有名为 CMDEXTVERSION 的环境变量,%CMDEXTVERSION% 会扩充为 CMDEXTVERSION 当前数值的字串符表达式;否则,您会得到其数值。

本文转自leonardos51CTO博客,原文链接:http://blog.51cto.com/leomars/1897367 ,如需转载请自行联系原作者

批处理IF-ELSE的使用相关推荐

  1. 机器学习入门(15)— 全连接层与卷积层的区别、卷积神经网络结构、卷积运算、填充、卷积步幅、三维数据卷积、多维卷积核运算以及批处理

    卷积神经网络(Convolutional Neural Network,CNN)CNN 被用于图像识别.语音识别等各种场合,在图像识别的比赛中,基于深度学习的方法几乎都以 CNN 为基础. 1. 全连 ...

  2. DOS批处理的字符串功能

    DOS批处理的字符串功能 批处理有着具有非常强大的字符串处理能力,其功能绝不低于C语言里面的字符串函数集.批处理中可实现的字符串处理功能有:截取字符串内容.替换字符串特定字段.合并字符串.扩充字符串等 ...

  3. 批处理+定时任务实现定时休息提醒

    前言:俗话说的好,懒是第一生产力,懒是提高生产效率的必要条件.而现今windows是大部分人的第一生产工具,批处理+定时任务这对黄金搭档就是提升生产效率的第一工具.大家在生产过程中经常会遇到各种周期性 ...

  4. 批处理命令——goto 和 :

    谈起goto,相信大家应该想到的是面向过程编程.其实,这就相当于当有人向你谈起class,意味着你就懂得面向对象编程.如果你不懂,那么你们的沟通将会很困难.不懂我说的啥意思吗?请参见曾经分享王路的一篇 ...

  5. CS5中动作和批处理

    动作类似office里的宏. 窗口---动作.排列过多的图片可以窗口---排列. 先新组,然后新动作,完成后停止录制:点击新图片使其成为当前图片,再点击播放动作. 一个新组下可以有很多动作. 动作定义 ...

  6. linux批处理mysql数据库_使用批处理对MySQL进行数据批量操作

    批处理是一种非交互式运行MySQL程序的方法,如同您在MySQL中使用的命令一样,你仍然将使用这些命令. 为了实现批处理,您重定向一个文件到MySQL程序中,首先我们需要一个文本文件,这个文本文件包含 ...

  7. Sql Server 因为触发器问题导致数据库更新报错“在触发器执行过程中引发了错误,批处理已中止”的问题处理...

    在维护一个非常旧的项目时,由于该项目版本已经非常老了,而且在客户现场运行的非常稳定,更要命的是本人目前没有找到该项目的代码,为了处理一个新的需求而且还不能修改程序代码,于是决定从数据库入手,毕竟该项目 ...

  8. C# 批处理制作静默安装程序包

    使用批处理+WinRAR制作静默安装程序包 @echo 安装完窗口会自动关闭!!! @echo off start /wait Lync.exe /Install /Silent start /wai ...

  9. 批处理解决“易语言难题”

    为什么80%的码农都做不了架构师?>>>    发现还没有Win批处理的,也就是DOS,我来凑个热闹,哈哈- @maxos   汇总贴 @APPLEUFO   原题链接 不罗嗦,上代 ...

  10. 批处理获取目录下所有文件名

    由于要处理一些文件,找了个这样的批处理: 输出目录及子目录下所有的jpg图片的文件名,不含扩展名 1 @echo off 2 cd.>List.txt 3 for /f "delims ...

最新文章

  1. 分隔符怎么打出来_男孩地铁上打奶奶,踹爷爷:熊孩子都是怎么培养出来的?...
  2. 微分方程VS机器学习,实例讲解二者异同
  3. C++常见面试题之数据结构和算法
  4. 打印正整数n之内的斐波那契数列
  5. 西裤哥的 Hook Api Lib 0.2 For C
  6. android intent-fliter 标准Category
  7. node工程默认url_node命令行工具之实现项目工程自动初始化的标准流程
  8. 【链接保存】十分钟上手sklearn:安装,获取数据,数据预处理
  9. C#LeetCode刷题之#257-二叉树的所有路径(Binary Tree Paths)
  10. 编译安装android7.0,android7.0 源码编译问题总结
  11. PCL点云参数估计算法之RANSAC和LMEDS
  12. Word插入插图清单目录、附表清单目录
  13. android版自动点击器,自动点击器安卓低配版
  14. win7触摸板怎么关闭_笔记本电脑触摸板快速关闭,避免误碰影响操作
  15. OMRON-FINS(TCP)协议详细解析和攻击
  16. 高斯列主消元法 求非齐次线性方程组 C语言实现代码
  17. Linux基础入门(详细教程)
  18. 3029. 【NOIP2011DAY2】观光公交
  19. 报错解决:Reason: Failed to determine a suitable driver class
  20. Chrome 源码剖析

热门文章

  1. 解析服装行业的现状及数字化转型的步伐
  2. rearm 命令_windows7系统修复命令利用rearm命令延长Windows 7试用期限
  3. 25岁创立加密城堡, 曾经独角兽创始人社会名流天才黑客是这里的沙发客, 如今却无人问津……...
  4. 推荐系统自己实践-----基于用户的推荐
  5. Web前端 HTML基础
  6. 运动耳机什么牌子好,性价比高的运动耳机推荐
  7. 风口上的“咖啡经济”,盒马能品出味道吗?
  8. android togglebutton 自定义,Android自定义ToggleButton
  9. 谷歌页面排名算法 - 未完
  10. MySQL通配符使用