if用于条件判断,适用于以下情形
1、判断驱动器、文件或文件夹是否存在,用 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语句的关系符号见下表:
中文含义
等于
大于
大于或等于
小于
小于或等于
不等于
if 与 else搭配要注意格式例如:
@echo off
:loop
echo please input an b:
set /p a=
if %a%==b (
echo right;
pause) else goto loop;
--------------
这里else必须紧跟if的尾端,否则不生效。
if与else最好的书写习惯为:
if 条件 (
)else(
)
例如:
set variable=
if defined variable (
echo %variable%
) else (
echo not exists
)
if语句还有一个精简格式:if 条件表达式 语句,它的含义是:如果条件表达式成立,将执行语句,否则,什么也不做。
详细出处参考:http://www.jb51.net/article/17919.htm