批处理是一门简单的脚本语言,虽然不能独当一面,但可以作为工作中的辅助工具

  和其他语言相比,批处理语言有其先天性的优势:
  1、系统自带,无需另行安装;
  2、命令少,语句简洁,上手非常快;
  3、编写出来的脚本小巧玲珑,随写随用;

 

一,语句结构(选择和循环)

  1. if  ----- 条件判断语句(选择结构)

  判断信息是否相等(==)  判断错误级别(%errorlevel%)  判断文件是否存在  

  判断MS-DOS扩展版本号(扩展用法)  判断变量是否存在(扩展用法)  信息比较运算(扩展用法)

(1) 判断信息是否相等(==)

@echo off
if /i abc==ABC (
   echo abc euqal ABC
) else (
   echo abc not euqal ABC
)
pause>nul
::忽略大小写请在if后加开关/i

(2) 判断错误级别(%errorlevel%)

错误级别“errorlevel”是MS_DOS的内置环境变量,主用于上一条命令是否执行成功,成功返回0,失败返回相应的错误级别码。

@echo off
if %errorlevel%==0 (
  echo success!
) else (
  echo failed!
)
pause>nul
::这种方式作为关键字使用,"number"作为错误级别码,“not”作为相反操作

(3)判断文件是否存在

@echo off 
if exist C:\a.txt (
  echo file is find!
  del C:\a.txt
) else (
  echo file is not found!
)
pause>nul
:: "exist",是关键字表示“存在”;"not"作为相反操作

 

  ***** 扩展用法:该用法需要在启动命令扩展后才可使用,而命令扩展默认是启用的 *****

(4) 判断MS-DOS扩展版本号(扩展用法)

(5) 判断变量是否存在(扩展用法)

(6)信息比较运算(扩展用法)

  操作数可以是字符串、数值、变量,在命令扩展下支持的比较运算符有六种:

  "equ(等于)", "neq(不等于)", "lss(小于)", "leq(小于等于)", "gtr(大于)", "geq(大于等于)" ,当比较的是字符串时,将被转换为ASCII码进行比较

@echo off
set var1=123
set var2=abc
set var3=12
:: /i,比较过程中忽略大小写;%var2%,输出变量值,是操作数1;equ,比较运算符
:: ^,是转义字符
if /i %var2% equ ABC (
  if %var1% geq %var3% (
    echo %var1%^>=%var3%
  ) else (
    echo %var1%^<%var3%
  )
) else (
  echo %var2%不等于ABC
)
pause>nul

  注:省略“()”时,命令和“ if ”语句必须写在一行,当有“ else ”时必须使用“()”。【提示:“()”和关键字之间有空格】

(7)检测某个变量是否已经被定义

set "str1=ok"
if defined str1 echo str1已经被定义
if defined str3 (echo str3已经被定义) else (echo str3 没有被定义)
pause>nul