bat(if与for使用详解).doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
bat(if与for使用详解)

BAT语句结构   类似于C语言,批处理也有它的语句结构。批处理的语句结构主要有选择结构(if语句)、循环结构(for语句)等。 if语句(选择结构)   if语句实现条件判断,包括字符串比较、存在判断、定义判断等。通过条件判断,if语句即可以实现选择功能。   1、字符串比较   if语句仅能够对两个字符(串)是否相同、先后顺序进行判断等。其命令格式为:   IF [not] string1 compare-op string2 command1 [else command2]   其中,比较操作符compare-op有以下几类:   == - 等于   EQU - 等于   NEQ - 不等于   LSS - 小于   LEQ - 小于或等于   GTR - 大于   GEQ - 大于或等于   选择开关/i则不区分字符串大小写;选择not项,则对判断结果进行逻辑非。   字符串比较示例:   ===============================================   @echo off   set str1=abcd1233   set str2=ABCD1234   if %str1%==%str2% (echo 字符串相同!) else (echo 字符串不相同!)   if /i %str1% LSS %str2% (echo str1^str2) else (echo str1^=str2)   echo.   set /p choice=是否显示当前时间?(y/n)   if /i not %choice% EQU n echo 当前时间是:%date% %time%   pausenul   ===============================================   对于最后一个if判断,当我们输入n或N时的效果是一样的,都不会显示时间。如果我们取消开关/i,则输入N时,依旧会显示时间。   另外请注意一下几个细节:1-echo str1^str2和echo str1^=str2;2-echo.。   2、存在判断   存在判断的功能是判断文件或文件夹是否存在。其命令格式为:   IF [NOT] EXIST filename command1 [else command2]   ===============================================   @echo off   if exist %0 echo 文件%0是存在的!   if not exist %~df0 (   echo 文件夹%~df0不存在!   ) else echo 文件夹%~df0存在!   pausenul   ===============================================   这里注意几个地方:   1-存在判断既可以判断文件也可以判断文件夹;   2-%0即代表该批处理的全称(包括驱动器盘符、路径、文件名和扩展类型);   3-%~df0是对%0的修正,只保留了其驱动器盘符和路径,详情请参考for /?,属高级批处理范畴;   4-注意if语句的多行书写,多行书写要求command1的左括号必须和if在同一行、else必须和command1的右括号同行、command2的左括号必须与else同行、command1和command2都可以有任意多行,即command可以是命令集。   3、定义判断   定义判断的功能是判断变量是否存在,即是否已被定义。其命令格式为:   IF [not] DEFINED variable command1 [else command2]   存在判断举例:   ===============================================   @echo off   set var=111   if defined var (echo var=%var%) else echo var尚未定义!   set var=   if defined var (echo var=%var%) else echo var尚未定义!   pausenul   ===============================================   对比可知,set var=可以取消变量,收回变量所占据的内存空间。 for语句(循环结构)   for语句可以实现类似于C语言里面的循环结构,当然for语句的功能要更强大一点,通过不同的开关可以实现更多的功能。for语句有

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档