我的编程空间,编程开发者的网络收藏夹
学习永远不晚

dos if条件判断语句的实例用法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

dos if条件判断语句的实例用法

这篇文章主要讲解了“dos if条件判断语句的实例用法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“dos if条件判断语句的实例用法”吧!

判断驱动器、文件或文件夹是否存在,用 if exist 语句;
  2、判断某两个字符串是否相等,用 if "字符串1"=="字符串2" 语句;
  3、判断某两个数值是否相等,用 if 数值1 equ 数值2 语句;
  4、判断某个变量是否已经被赋值,用 if defined str 语句;

  if语句的完整格式是这样的:if 条件表达式 (语句1) else (语句2),它的含义是:如果条件表达式成立,那么,就执行语句1,否则,将执行语句2。

  对于以上四种情形,可以分别使用如下代码:

  1、if exist d:\test.txt (echo D盘下有test.txt存在) else (echo D盘下不存在test.txt)
  2、if "abc"=="xyz" (echo 字符串abc等于字符串xyz) else (echo 字符串abc不等于字符串xyz)
  3、if 1 equ 2 (echo 1等于2) else (echo 1不等于2)
  4、if defined str (echo 变量str已经被赋值,其值为%str%) else (echo 变量str的值为空)

  判断字符串是否相等的时候,if会区分大小写,比如,单纯的if语句会认为字符串abc和字符串Abc不相同,若不想区分大小写,则需要添加 /i 开关,使用 if /i "字符串1"=="字符串2" 的格式;另外,等于符号是连续的"=="而非单独的"="。

  判断两个数值之间的大小关系,除了等于用equ之外,还有其他的关系符号,所有适用于if语句的关系符号见下表:

中文含义 关系符 英文解释

等于 equ equal
大于 gtr greater than
大于或等于 geq greater than or equal
小于 lss less than
小于或等于 leq less than or equal
不等于 neq no equal

  if语句还有一个精简格式:if 条件表达式 语句,它的含义是:如果条件表达式成立,将执行语句,否则,什么也不做。

学习if条件语句

学习要点:
5种if语句的基本语法:
1。判断两个字符串是否相等,if "字符串1"=="字符串2" command 语句;
2。判断两个数值是否相等,if 数值1 equ 数值2 command 语句;
3。判断判断驱动器,文件或文件夹是否存在,if exist filename command 语句;
4。判断变量是否已经定义,if defined 变量 command 语句;
5。判断上个命令的返回值,if errorlevel 数值 command 语句。
------------------------------------------------------------------------------------------------------


1。判断两个字符串是否相等,if"字符串1"=="字符串2" command 语句
   注意:在"字符串1"=="字符串2"中,是两个连续的"="

例1

@echo offset /p var1=请输入第一个比较的字符:set /p var2=请输入第二个比软的字符:if "%var1%"=="%var2%" (echo 输入的两个字符相同) else echo 输入的两个字符不相同pause

执行后会要求你输入两个字符串,然后批处理判断它俩是否相同。在判断字符串是否相等的时候,if是会区分大小写
的,请看,

例2

@echo offif "a"=="A" (echo 输入的两个字符相同) else echo 输入的两个字符不相同pause

执行后会显示:输入的两个字符不相同
如果我们不想让它区分大小写,则可以加上/i 参数。再看下面这个例子,

例3

@echo offif /i "a"=="A" (echo 输入的两个字符相同) else echo 输入的两个字符不相同pause

这次执行后会显示:输入的两个字符相同
------------------------------------------------------------------------------------------------------


2。判断两个数值是否相等,if 数值1 equ 数值2 command 语句
语句中的equ 表示相等的意思,判断两个数值之间的大小关系还有以下关系符号:

中文含义       关系符       英文解释
等于            equ          equal
大于            gtr          greater than
大于或等于      geq          greater than or equal
小于            lss           less than
小于或等于      leq          less than or equal
不等于          neq          no equal

我们还是来看个例子,

例4

@echo off set /p var=请输入一个数字: if %var% geq 10 (echo 此数大于或等于10) else echo 此数小于10pause

注意哦,批处理中的大于号,小于号,等于号等等都不能用:“>”  “<”  “=” 这些符号,而要用像"gtr"这类
的。


☆注意:if 比较字符串与比较数字 之间的区别,它们的区别体现在引号""上面,请看下面的例子

【example 1】

@echo offif "12" lss "4" (echo 12竟然小于4哦?) else echo 12当然不会小于4的!pause

执行的结果是:12竟然小于4哦?


【example 2】

@echo offif 12 lss 4 (echo 12竟然小于4哦?) else echo 12当然不会小于4的!Pause

执行的结果是:12当然不会小于4的!

为什么【example 1】中加了双引号""会出错呢?

原因如下:
   如果要比较的两个元素加了双引号"",那么会被当成是字符的比较。两个元素作比较的流程是:先比较两个元素
的首位,如果首位相同,再比较第二位,如果第二位相同,再比较第三位。。。依此,在【example 1】if "12" lss
 "4" 语句中,实质是1与4的比较,1当然小于4,所以执行了后面的命令:echo 12竟然小于4哦?

☆建议:如果是字符串的比较就使用双引号"" 是数字的比较就不用双引号了!
------------------------------------------------------------------------------------------------------


3。判断判断驱动器,文件或文件夹是否存在,if exist filename command 语句
我们来瞧瞧这个判断驱动器,文件或者文件夹是否存在的语句,这里if exist filename 是表示:存在 filename的
意思。

例5

@echo off if exist "e:" (echo e盘存在) else echo e盘不存在 pause>nul

这里是判断e: 是否存在!

例6

@echo offif exist d:\123.bat (echo 123.bat文件存在!) else echo 123.bat文件不存在! pause

这个例子是用来判断123.bat文件是否存在的,但并不严谨!如果123.bat是一个文件夹而不是一个文件时,上面的判
断就不行了!那么如何判断指定的文件123.txt是否存在?请看:

@echo offdir /a-d d:\123.bat >nul 2>nulif %errorlevel%==0 (echo 123.bat文件存在!) else echo 123.bat文件不存在! Pause

先用dir的/a-d参数去除123.bat的目录属性,指定说明要搜索的123.bat是文件而不是文件夹,并把结果(包括正确
和错误)屏蔽(>nul 2>nul),如果dir找到了文件123.bat,那么其errorlevel值(dir命令的退出编码)会被设为0,否
则为1则是没有此文件。当然也可以用||和&&来判断。关于为什么要用if %errorlevel%==0 而不用if errorlevel 0
呢?在后面if errorlevel中会有说明!

例7

@echo offif exist test\ (echo test 是文件夹) else echo test 是文件pause

这里是判断文件夹是否存在。对于文件夹存在的判断,我们不可以用以下两种写法:

第①种

@echo offif exist test\. (echo test 是文件夹) else echo test 是文件pause


第②种

@echo offif exist test\nul (echo test 是文件夹) else echo test 是文件pause


4。判断变量是否已经定义,if defined 变量 command 语句
这是一个判断变量是否已被定义的语句,我们还是先看例子,

例8

@echo offif defined a (echo 变量 a 已定义) else (echo 变量 a 没有被定义)pause

执行后显示:变量 a 没有被定义

例9

@echo offset a=if defined a (echo 变量 a 已定义) else (echo 变量 a 没有被定义)pause

执行后显示:变量 a 没有被定义

注意:set a=这后面是没有空格的。

例10

@echo offset a=10if defined a (echo 变量 a 已定义) else (echo 变量 a 没有被定义)pause

执行后显示:变量 a 已定义

   看了上面三个例子,你应该发现点什么了吧?现在我们应该知道了:当变量不存在或是值为空时,变量则为未定
义。
   当我们用if defined 变量 command 语句判断变量是否被定义时,请注意 变量 为不使用引导符号%的变量名,不
能用写为%变量%,否则出错。

大家来试一下下面的这两个例子,

例11

@echo offset var1=5if defined var1 (echo 变量var1已定义) else (echo 变量var1没有被定义)set /p var2=请输入一个数字:if defined %var2% (echo 变量var2已定义) else (echo 变量var2没有被定义)pause

例12

@echo offset var1=5if defined var1 (echo 变量var1已定义) else (echo 变量var1没有被定义)set /p var2=请输入一个数字:if defined var2 (echo 变量var2已定义) else (echo 变量var2没有被定义)pause

注意例11和例12哦:一个是%var2%而另一个是var2


5。判断上个命令的反回值,if errorlevel 数值 command 语句
这个语句是用于判断上一个命令执行的返回值errorlevel,我们还是先来看看例子,

例13

@echo off net user if %errorlevel% == 0 (echo net user 命令执行成功) else (echo net user 命令执行失败) Pause

注意:%errorlevel%  这是个系统变量,所以用两个%括起来,这里的==为两个连续的=
也许有些朋友说我上面的例子是不是写错了?按照语法应该写成“if errorlevel 0”才对的呀。
如果你是这样用的话,那你就错了,还真不信呀?OK,我们来设计个实验看看

例14

@echo off set /p input=请输入任意一条命令: if errorlevel 0 (echo %input% 命令执行成功) else (echo %input% 命令执行失败)pause

用这种语法,不管你前面的命令,是否执行成功,它都会认为命令成功了。何解?


if errorlevel  语句的特点:
当使用  if errorlevel 0 cmmand 句式时,它的含义是:如果返回的错误码值大于或等于0 的时候,将执行cmmand
操作;
当使用  if %errorlevel%==0 cmmand 句式时,它含义是:如果返回的错误码值等于0 的时候,将执行cmmand操作。

一般上一条命令的执行结果返回的值只有两个,"成功"用0 表示 "失败"用 1 表示,实际上,errorlevel 返回值可
以在0~255 之间,
例如xcopy 默认的errorlevel 值就有5 个,分别表示5 种执行状态:

0复制文件成功
1 未找到复制文件
2 用户通过CTRL C 终止了xcopy操作
4 出现了初始化错误 
5 出现了磁盘写入错误


   对于if 条件语句,常用的也就上面那5条吧,下面我们来看一下它的两种格式:

if条件语句的完整格式是:if 条件表达式 (语句1) else (语句2)
它的含义是:如果 条件表达式 成立,就执行 语句1,否则,将执行 语句2。?  else后的 语句2 也可以不用括号括
起。

if条件语句的简单格式是:if 条件表达式 (语句)
它的含义是:如果 条件表达式 成立,将执行 语句,否则,什么都不做。条件表达式后的 语句 也可以不用括号括
起。

例15

@echo off if exist "d:\123.txt" (del "d:\123.txt")pause

你也可以写成下面这样

例16

@echo off if exist "d:\123.txt" del "d:\123.txt"pause

补充1:if not 语句
对于if 语句前面的5种基本语法,都可以加上not参数,如
1。if not "字符串1"=="字符串2" command 语句;
2。if not数值1 equ 数值2 command 语句;
3。If not exist filename command 语句;
4。if not defined 变量 command 语句;
5。if not errorlevel 数值 command 语句。

   在if 条件表达式 (语句) 语句,如没有not参数,默认是判断条件成立时,执行语句;如有not参数,判断条件失
败时,执行语句。

我们看一下下面的例子:

例17

@echo offif exist "c:\" (echo C盘存在) else echo C盘不存在pause

执行后显示:C盘存在

例18

@echo offif not exist "c:\" (echo C盘存在) else echo C盘不存在pause

执行后显示:C盘不存在

不会吧,例18中执行后显示:C盘不存在,这简值是在说瞎话了,那到底是什么回事呢?

if not exist "c:\" (echo  C盘存在) else echo  C盘不存在
此语句中文意思:如果不存在C:\ 就执行显示C盘存在;否则<指的是存在C:\>就执行显示C盘不存在。
注:if exist 意为如果存在,那么if not exist就是如果不存在

你的C盘当然是实实在在存在的啦,根椐上面的中文分得知,那执行例18后就显示为:C盘不存在  通过分析例18,你
应该明白if语句中not参数是怎么用了吧!


补充2:IF语句嵌套的写法,我们先来看看

例1

@echo offset a=55if %a% geq 50 (  if %a% geq 80 (    if %a% geq 100 (      echo a大于等于100     ) else echo a小于100   ) else echo a小于80 ) else echo a小于50 pause

这是一种比较规范的写法,那这种写法是怎样写的呢?那我们一步步的来:


if %a% geq 50 ( ) else echo a小于50

在第一步geq 50 后面的括号()里按两下回车,主要是空两行出来。

if %a% geq 50 (   if %a% geq 80 ( )else echo小于80) else echo a小于50

在第二步geq 80 后面的括号()里按两下回车,主要是空两行出来。

if %a% geq 50 (   if %a% geq 80 (    if %a% geq 100 ( ) else echo a小于100  )else echo小于80) else echo a小于50

在第三步geq 100 后面的括号()里按两下回车,主要是空两行出来。

if %a% geq 50 (   if %a% geq 80 (    if %a% geq 100 (     echo a大于等于100   ) else echo a小于100  )else echo小于80) else echo a小于50

感谢各位的阅读,以上就是“dos if条件判断语句的实例用法”的内容了,经过本文的学习后,相信大家对dos if条件判断语句的实例用法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

dos if条件判断语句的实例用法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

dos if条件判断语句的实例用法

这篇文章主要讲解了“dos if条件判断语句的实例用法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“dos if条件判断语句的实例用法”吧!1、判断驱动器、文件或文件夹是否存在,用 if e
2023-06-09

mybatis if test条件判断语句中的判断问题实例分析

本文小编为大家详细介绍“mybatis if test条件判断语句中的判断问题实例分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“mybatis if test条件判断语句中的判断问题实例分析”文章能帮助大家解决疑惑,下面跟着小编的思路
2023-06-29

Java判断语句if…else/switch的实例用法

这篇文章主要介绍“Java判断语句if…else/switch的实例用法”,在日常操作中,相信很多人在Java判断语句if…else/switch的实例用法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Jav
2023-06-02

shell脚本语言之if条件判断语句实例详解

目录1.单分支if条件语句1.1举例:判断目录是否存在,不存在则创建2.双分支if条件语句2.1举例:监听并自动重启apache服务脚本3.多分支if条件语句3.1举例:判断用户输入的是文件还是目录4.case条件语句4.1举例:创建启动脚
2022-06-05

shell if判断语句实例分析

今天小编给大家分享一下shell if判断语句实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。UNIX Shell 里
2023-06-27

Linux shell脚本编程if语句的使用方法(条件判断)

if 语句格式if 条件then Commandelse Commandfi 别忘了这个结尾If语句忘了结尾fitest.sh: line 14: syntax error: unexpected end of fi
2022-06-04

Shell脚本中if条件判断的写法实例

目录前言条件判断格式if 语句条件判断类型按照文件权限进行判断文件之间比较整数之间比较字符串的判断多重条件判断附:Shell if 判断语句参数总结前言 if…else… 可以说是我们在编程中最常见的条件判断语句
2022-06-05

sql中的条件判断语句

sql 中有两种常见的条件判断语句:if-else 语句和 case 语句。if-else 语句根据条件为真或假执行不同的语句,而 case 语句根据表达式值匹配不同情况执行相应的语句。SQL 中的条件判断语句条件判断语句是在 SQL 中
sql中的条件判断语句
2024-04-28

计算机编程中常见的if语句是条件判断语句吗

这篇文章主要介绍“计算机编程中常见的if语句是条件判断语句吗”,在日常操作中,相信很多人在计算机编程中常见的if语句是条件判断语句吗问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”计算机编程中常见的if语句是条
2023-07-05

bash if条件判断的使用

目录if格式条件测试整数测试字符测试文件测试组合条件测试在bash中,if是可以对语句做选择执行,做if条件测试有整数测试,字符测试,文件测试三种形式。 if格式 单分支语法 if 条件; then语句1语句2... fi双分支语法 if
2023-02-16

Python的条件判断语句------i

计算机之所以能做很多自动化的任务,因为它可以自己做条件判断。  比如,输入用户的年龄,根据年龄打印不同的内容。。。  Python程序中,能让计算机自己作出判断的语句就是if语句:  例:    age = 25    if age >=
2023-01-31

python中的条件判断语句

在python中使用条件判断语句一定不要忘记if else elif后面的冒号:哦if语句的特点:从上往下判断,如果某一个判断是true,将该判断条件对应的语句执行,忽略后面剩下的else和elif1、用if语句实现如果判断结果为true,
2023-01-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录