【批处理】if命令,注释方式

我们两清 提交于 2019-11-27 19:26:06

If 命令

if 表示将判断是否符合规定的条件,从而决定执行不同的命令。 有三种格式:
1、if "参数" == "字符串"  待执行的命令
参数如果等于指定的字符串,则条件成立,运行命令,否则运行下一句。(注意是两个等号)
如if "%1"=="a" format a:
if { %1 }=={ } goto noparms
if { %2 }=={ } goto noparms

2、if exist 文件名  待执行的命令
如果有指定的文件,则条件成立,运行命令,否则运行下一句

if exist config.sys edit config.sys

3、if errorlevel / if not errorlevel 数字  待执行的命令
如果返回码等于指定的数字,则条件成立,运行命令,否则运行下一句。
if errorlevel 2 goto x2  
DOS程序运行时都会返回一个数字给DOS,称为错误码errorlevel或称返回码,常见的返回码为0、1。

 

注释方式

1、:: 注释内容(第一个冒号后也可以跟任何一个非字母数字的字符)
    2、rem 注释内容(不能出现重定向符号和管道符号)
    3、echo 注释内容(不能出现重定向符号和管道符号)〉nul
    4、if not exist nul 注释内容(不能出现重定向符号和管道符号)
    5、:注释内容(注释文本不能与已有标签重名)
    6、%注释内容%(可以用作行间注释,不能出现重定向符号和管道符号)
    7、goto 标签 注释内容(可以用作说明goto的条件和执行内容)
    8、:标签 注释内容(可以用作标签下方段的执行内容)

 

1. 判断字符串相等。

  示例如下:新建一个文本文件,命名为ifstring,修改文件类型为bat,用Notepad++打开编辑内容为:

1 @echo off
2 set "var=this is an apple"
3 rem 比较%var%是否等于apple,如果相等,返回OK,否则返回NO.
4 if "%var%"=="apple" (echo OK) else echo NO
5 pause>nul

  运行结果:

  注意:if判断字符串相等时候,后面用的是“==”,而不是“=”。

  2. 判断数值相等。

  示例如下:新建一个文本文件,命名为ifnumber,修改文件类型为bat,用Notepad++打开编辑内容为:

复制代码
1 @echo off
2 set /a num1=100
3 set /a num2=10
4 if %num1% gtr %num2% echo %num1%大于%num2%
5 if %num1% EQU %num2% echo %num1%等于%num2%
6 if %num1% LSS %num2% echo %num1%小于%num2%
7 pause>nul
复制代码

  运行结果:

  注意:比较运算符分为以下几种:

  EQU - 等于 
  NEQ - 不等于 
  LSS - 小于 
  LEQ - 小于或等于 
  GTR - 大于 
  GEQ - 大于或等于 

  3. 结合errorlevel使用

  示例如下:新建一个文本文件,命名为iferrorlevel,修改文件类型为bat,用Notepad++打开编辑内容为:

1 @ECHO off
2 XCOPY F:\studybat\if\iferrorlevel.bat D:\  
3 IF ERRORLEVEL 1 ECHO 文件拷贝失败  
4 IF ERRORLEVEL 0 ECHO 成功拷贝文件
5 pause>nul

  运行结果:

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

  4. 判断变量定义与否。

  示例如下:新建一个文本文件,命名为ifdefined,修改文件类型为bat,用Notepad++打开编辑内容为:

复制代码
1 @echo off
2 set "str1=ok"
3 set "str2=no"
4 if defined str1 echo str1已经被定义 
5 if defined str2 echo str2已经被定义 
6 if defined str3 (echo str3已经被定义) else echo str3 没有被定义 
7 pause>nul
复制代码

  运行结果:

 

原文:https://www.cnblogs.com/Braveliu/p/5081001.html

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!