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语句的关系符号见下表:
中文含义关系符英文解释
等于equequal
大于gtrgreater than
大于或等于geqgreater than or equal
小于lssless than
小于或等于leqless than or equal
不等于neqno equal
if语句还有一个精简格式:if 条件表达式 语句,它的含义是:如果条件表达式成立,将执行语句,否则,什么也不做。
实例:
把以下保存为BAT文件
复制代码 代码如下:
@echo off
if exist e:123.bat goto st
copy /y c:123.bat e:123.bat
goto st
:st
start e:123.bat
exit
说明:
判断文件存不存在,存在就执行,不存在则复制文件到目标再执行。可按需要改动里面的文件名,可为EXE、BAT、CMD、COM等执行文件。
BAT编程-choice命令
choice 命令
choice 命令可以让用户输入一个字符,从而运行不同的命令,其命令格式为“ choice [/C choices] [/N] [/CS] [/T timeout /D choice] [/M text] ”。各参数含义如下:
/C choices 指定要创建的选项列表。默认列表是“Y/N”。
/N 在提示符中隐藏选项列表。提示前面的消息得到显示选项依旧处于启用状态。
/CS 允许选择分大小写的选项。在默认情况下,这个工具是不分大小写的。
/T timeout 做出默认选择之前,暂停的秒数。可接受的值是从0~9999。如果指定了0,就不会又暂停,默认选项会得到选择。
/D choice 在 n 秒之后指定默认选项。字符必须在用 /C 选项指定的一组选择中;同时,必须同 /T 指定 n 。
/M text 指定提示之前要显示的消息。如果没有指定,工具只显示提示。
实例: choice 命令的使用
在命令行窗口中输入“choice /C YNC /M "确认请按 Y,否请按 N,或者取消请按 C。"”,运行后显示如图所示。