一、写bat批处理也一样,都要用到注释的功能,这是为了程式的可读性
在批处理中,段注释有一种比较常用的方法:
goto start
= 可以是多行文本,可以是命令 = 可以包含重定向符号和其他特殊字符 = 只要不包含 :start 这一行,就都是注释 :start
另外,还有其他各种注释形式,比如:
1、:: 注释内容(第一个冒号后也可以跟任何一个非字母数字的字符)
2、rem 注释内容(不能出现重定向符号和管道符号) 3、echo 注释内容(不能出现重定向符号和管道符号)〉nul 4、if not exist nul 注释内容(不能出现重定向符号和管道符号) 5、:注释内容(注释文本不能与已有标签重名) 6、%注释内容%(可以用作行间注释,不能出现重定向符号和管道符号) 7、goto 标签 注释内容(可以用作说明goto的条件和执行内容) 8、:标签 注释内容(可以用作标签下方段的执行内容)dos的 if语句 使用
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语句的关系符号见下表:
中文含义 关系符 英文解释
等于 equ equal大于 gtr greater than大于或等于 geq greater than or equal小于 lss less than小于或等于 leq less than or equal不等于 neq no equal
if语句还有一个精简格式:if 条件表达式 语句,它的含义是:如果条件表达式成立,将执行语句,否则,什么也不做。