计算机DOS下,bat批处理 if 命令示例详解,简单易懂,你也可以来学学。

【开始】-【所有程序】-【附件】-【命令提示符】

if /? 先在CMD命令提示符下看看IF命令的帮助信息。

bat批处理命令大全(bat批处理命令详细讲解)(1)

实例一:

检测字符串(注意,用if检测字符串是否相等的时候,后面用的不是“=”,而是“==”,和C语言有一点类似):

@echo off

set "str=Hello World !"

REM 检测变量%str%是否等于Hello,如果相等,显示OK,否则显示NO

if "%str%"=="Hello" (echo OK) else echo NO

pause>nul

bat批处理命令大全(bat批处理命令详细讲解)(2)

实例二:

检测数值:(注意,批处理中大于符号不能用:“>”,而用"gtr",其它的也类似)

比较运算符一览:

EQU - 等于

NEQ - 不等于

LSS - 小于

LEQ - 小于或等于

GTR - 大于

GEQ - 大于或等于

检测数值 100 是否大于 80演示代码:

@echo off

set /a num1=100

set /a num2=80

if %num1% gtr %num2% echo %num1%大于%num2%

if %num1% EQU %num2% echo %num1%等于%num2%

if %num1% LSS %num2% echo %num1%小于%num2%

pause>nul

bat批处理命令大全(bat批处理命令详细讲解)(3)

实例三:

if结合errorlevel使用

说明:环境变量errorlevel的初始值为0,当一些命令执行不成功,就会返回一个数值,如:1 ,2 ,3等

IF-ERRORLEVEL

代码:

@ECHO OFF

XCOPY D:\test.rar C:\

IF ERRORLEVEL 1 ECHO 文件拷贝失败

IF ERRORLEVEL 0 ECHO 成功拷贝文件

pause>nul

bat批处理命令大全(bat批处理命令详细讲解)(4)

如果文件拷贝成功,屏幕就会显示“成功拷贝文件”,否则就会显示“文件拷贝失败”。

IF ERRORLEVEL 是用来测试它的上一个DOS命令的返回值的,注意只是上一个命令的返回值,而且返回值必须依照从大到小次序顺序判断。

因此下面的批处理文件是错误的:

@ECHO OFF

XCOPY D:\test.rar C:\

IF ERRORLEVEL 0 ECHO 成功拷贝文件

IF ERRORLEVEL 1 ECHO 未找到拷贝文件

IF ERRORLEVEL 2 ECHO 用户通过ctrl-c中止拷贝操作

IF ERRORLEVEL 3 ECHO 预置错误阻止文件拷贝操作

pause>nul

实例四:

if检测某个变量是否已经被定义

@echo off

set "A1=yes"

set "A2=no"

if defined A1 echo A1已经被定义

if defined A2 echo A2已经被定义

if defined A3 (echo A3已经被定义) else echo A3 没有被定义

if defined A4 (echo A4已经被定义) else echo A4 没有被定义

pause>nul

bat批处理命令大全(bat批处理命令详细讲解)(5)

教程到此为止,IF在批处理中的用法很广泛,你可以多学习学习,举一反三。