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


    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:studybatififerrorlevel.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

  • 相关阅读:
    c#中取整和取余
    安装程序无法创建新的系统分区,也无法定位现有的系统分区
    经销商、代理商、分销商的关系
    关于WinPE安装操作系统
    SQL Server 2008 数据库同步的两种方式 (发布、订阅)
    SQL Server 2008 数据库同步的两种方式 (发布、订阅)
    通过SQL Server 2008数据库复制实现数据库同步备份
    SQL Server 2008 R2数据库镜像部署图文教程
    SQL 2008提供几种数据同步方式
    Microsoft Sync Framework下的快速开发同步程序
  • 原文地址:https://www.cnblogs.com/xiangtingshen/p/11374156.html
Copyright © 2020-2023  润新知