`
zzc1684
  • 浏览: 1221165 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

if命令

阅读更多

文章参照:http://blog.csdn.net/synior/archive/2010/09/21/5899666.aspx

一、if "参数" == "字符串"  待执行的命令

参数如果等于指定的字符串,则条件成立,运行命令,否则运行下一句。(注意是两个等号)

如if "%1"=="a" format a:

if { %1 }=={ } goto noparms

if { %2 }=={ } goto noparms

二、if exist 文件名  待执行的命令

如果有指定的文件,则条件成立,运行命令,否则运行下一句。

如if exist config.sys edit config.sys

三、if errorlevel / if not errorlevel 数字 

根据返回码和指定的数字进行比较来判断,如果条件成立,运行命令,否则运行下一句。

if errorlevel 2 goto x2  

DOS程序运行时都会返回一个数字给DOS,称为错误码errorlevel或称返回码,常见的返回码为0、1。

更多内容参照《关于if errorlevel 命令

四、if 和else的组合

实例1

if exist test.ini (

echo 存在 test.ini 文件

) else (

echo 不存在 test.ini 文件

)

五、 if defined 存在判断

if defined与if exist用法基本一样,但是if defined比if exist多一个用法,就是用来判断环境变量是否存在。

实例2

@if defined name (

echo name is %name%

) else (

echo name is not initial

)

set name=robin

@if defined name (

echo name is %name%

) else (

            echo name is not initial

)

Pause

六、字符串的比较

if的常规用法只能判断字符串“等于”和“不等于”,而不能判断“大于”,“小于”,或“大于等于”,“小于等于”等。但在启用命令扩展名后我们就可以判断这些了

EQU - 等于

NEQ - 不等于

LSS - 小于

LEQ - 小于或等于

GTR - 大于

GEQ - 大于或等于

对于字母和符号的比较,cmd会先将这些转换成ascii码后比较。我们就可以用来判断字母与字母,字母与数字的大小了,,如a lss b。

if后面加上/i的开关,在字母的比较中就不会区分大小写了,即,a与A是相等的。

在这里,if的其它用法与常规用法均相同。

注意:在默认情况下,cmd命令扩展名是被启用的

实例3:

@echo off

set str0=robin

set str1=hb

@if %str0% EQU %str1% (

echo the two string is the same

) else (

            if %str0% LSS %str1% (

            echo the %str0% is less than %str1%

            ) else (

            echo the %str0% is big than %str1%

            )

)

set str0=Robin

set str1=robin

@echo 如果不忽略大小写:

@if %str0% EQU %str1% (

            echo the string %str0% and %str1% are the same

) else (

            echo the string %str0% and %str1% are not the same

)

@echo 如果忽略大小写

@if /i %str0% EQU %str1% (

            echo the string %str0% and %str1% are the same

) else (

            echo the string %str0% and %str1% are not the same

)

Pause

、 if cmdextversion number判断

if cmdextversion与if errorlevel用法也基本一样,多了一个比较:与命令扩展名有关联的内部版本号比较。这个知道就可以了,基本上没有用。

分享到:
评论

相关推荐

    批处理BAT脚本中set和if命令的使用

    批处理BAT脚本中set和if命令的使用 批处理BAT脚本中set和if命令的使用是批处理编程中两个非常重要的命令。set命令用于赋值、数学运算、读取输入、字符串截取和字符串替换等操作,而if命令用于判断上一条命令的退出...

    批处理基础 FOR命令详解 批处理中的变量 set命令详解 if命令讲解 DOS编程高级技巧

    * if…else…条件语句:使用IF命令来实现条件语句。 * 循环语句:使用FOR命令来实现循环语句。 * 子程序:使用CALL命令来实现子程序。 * 用 ftp 命令实现自动下载:使用ftp命令来实现自动下载。 * 用 7-ZIP 实现...

    批处理BAT脚本中for、set、if命令的使用.zip

    通过阅读"批处理BAT脚本中set和if命令的使用_20150807.pdf"和"批处理BAT脚本中for命令的使用_20200121.pdf"这两份文档,你可以更深入地了解这些命令的细节和应用场景,进一步提升你的批处理技能。

    if命令IF %ERRORLEVEL% LEQ 1 goto okay

    ### 关于 `if` 命令及其使用详解 #### 一、`if` 命令概述 在批处理脚本中,`if` 命令是一种非常重要的控制结构,它允许根据不同的条件来执行不同的命令。通过合理地使用 `if` 命令,可以在批处理文件中实现更为...

    DOS批处理高级教程 第六章 if命令讲解

    ### DOS批处理高级教程第六章:IF命令详解 在DOS批处理脚本编写中,`IF`命令是一项非常重要的工具,它允许我们基于特定条件来控制程序的流程。通过本章的学习,我们将深入理解`IF`命令的各种用法及其在实际编程中的...

    DOS命令 系统外部命令 内部命令

    ### DOS命令系统:内部与外部命令...通过上述例子可以看出,FOR命令非常适合处理循环操作,而IF命令则用于根据条件执行不同的命令序列。这些命令的强大之处在于它们的高度灵活性和可扩展性,能够满足各种不同的需求。

    cmd操作命令和linux命令大全收集

    CMD命令:开始->运行->键入cmd或command(在命令行里可以看到系统版本、文件系统版本) 命令大全 1. gpedit.msc-----组策略 2. sndrec32-------录音机 3. Nslookup-------IP地址侦测器 ,是一个 监测网络中 DNS...

    BAT命令大全

    1. if 命令:if 命令是一个条件语句,用来判断是否符合规定的条件,从而决定执行不同的命令。if 命令有三种格式:if [not] "参数" == "字符串"、if [not] exist [路径\]文件名、if errorlevel <数字>。 2. goto ...

    配置vlan间通过vlanif接口通信示例

    - 使用`display ip interface brief`命令检查所有接口的状态和IP配置,确保VLANIF接口已启用并分配了正确的IP地址。 - `display ip routing-table`可查看路由表,确认路由配置正确。 8. **ENSP仿真环境**: - ...

    if.rar_If...

    **批处理if命令详解** 在Windows操作系统中,批处理(Batch File)是一种自动化执行一系列命令的脚本方式,常用于日常任务的简化和系统管理。其中,`if`命令是批处理中的条件判断语句,它允许我们根据不同的条件...

    dos批处理命令详解

    **功能**: If 命令用于条件判断,根据条件的不同执行相应的命令。 **语法**: 1. `if "string1" == "string2" command` - 判断两个字符串是否相等。 2. `if exist filename command` - 判断文件是否存在。 3. `if ...

    if.rar_If..._if

    描述中提到的"IF命令的示范代码"是指包含`IF`语句的实际编程示例,这对于初学者通过实践来学习是非常有帮助的。`IF`语句通常包括一个条件表达式,如果这个表达式的值为真(非零或非假),则执行相应的代码块。 1. *...

    windows批处理命令详解及脚本实例.doc

    IF 命令是一个前提推断语句,语法格式如下: IF [NOT] ERRORLEVEL number command IF [NOT] string1==string2 command IF [NOT] EXIST filename command 其中,[NOT] 将前往的结果取反值,即"假如不"的意思。...

    bat批处理命令大全

    IF命令用于条件判断,例如:IF ERRORLEVEL 1 GOTO 1将判断命令执行完后的返回值,如果返回值为1则跳转到标号1处执行。 3. CALL命令的高级用法 CALL命令可以在批处理执行过程中调用另一个批处理文件,并返回结果,...

    CMD 命令速查手册

    * IF 命令:执行批处理程序中的条件性处理。 * PATH 命令:显示或设置可执行文件的搜索路径。 * PROMPT 命令:更改 Windows 命令提示符。 * SET 命令:显示、设置或删除 Windows 环境变量。 * SETLOCAL 命令:开始批...

    批处理命令大全.docx

    6. IF 命令:用于条件判断,例如,IF ERRORLEVEL 1 COMMAND 就是判断命令的返回值是否为1,如果是,则执行COMMAND命令。 三、IF 命令详解 IF 命令用于条件判断,语法格式如下: IF [NOT] ERRORLEVEL number ...

    Windows批处理命令大全

    - **功能描述:** `if` 命令用于判断条件是否满足,从而决定执行不同的命令序列。 - **示例:** ```bat if "%1"=="a" format a: if exist config.sys edit config.sys if errorlevel 2 goto x2 ``` #### 10. ...

    批处理命令大全.txt

    `if` 命令用于执行条件判断,根据条件是否满足来决定是否执行后续的命令。 - **语法**: - `if "" == "string" command`:如果字符串等于空字符串,则执行命令。 - `if exist filename command`:如果文件存在,则...

    常用的BAT命令和用法.doc

    * 例 3:BAT 命令可以使用特殊命令 if、goto、choice,这些命令可以实现更加复杂的逻辑控制。 if 命令: * if 命令是一种条件语句,用来判断是否符合规定的条件,从而决定执行不同的命令。 * if 命令有三种格式: ...

    UNIX批处理命令大全

    `if` 命令用于判断某个条件是否满足,根据结果执行不同的命令。 **语法**: ```bash if "string1"=="string2" command if exist filename command if errorlevel n command ``` **示例**: ```bash if "%1"=="a" ...

Global site tag (gtag.js) - Google Analytics