• 批处理命令——if


    【1】if命令简介

      if,大家肯定见多了,一个没有用过if的程序员不是一个好产品经理(呵呵~~)。

      if,判断选择的作用,自从写了几年代码,我才真正弄明白了一件事,为什么当初上学时候考试总要做那么多的选择题?

      因为,人生呀~ 选择大于努力,什么意思呢?给程序员讲的话,即就是 if 的作用大于 for或while。人生中其实遇到最多的是选择题,而且是最难的、最重要的。比如,选择一种职业,然后就一干好多年,其实,这个好多年就相当于在执行for。又比如,选择一个老婆,然后过一辈子,其实,这个一辈子就相当于在执行while。

    【2】if命令应用示例

      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

      运行结果:

    Good Good Study, Day Day Up.

    顺序  选择  循环  总结

  • 相关阅读:
    每秒处理请求数和并发的关系
    oracle查看表空间及大小
    Oracle 备份还原
    ABOUT BENJAMIN HARDY, PHD
    ServiceActivationException when auto-starting WCF services with AutofacServiceHostFactory
    Welcome Enterprise Skills Initiative
    How to quickly delete all html objects in Excel?
    How does SQLParameter prevent SQL Injection?
    Is it necessary to add a @ in front of an SqlParameter name?
    VS Code Python 全新发布
  • 原文地址:https://www.cnblogs.com/Braveliu/p/5081001.html
Copyright © 2020-2023  润新知