批处理是一门简单的脚本语言,虽然不能独当一面,但可以作为工作中的辅助工具
和其他语言相比,批处理语言有其先天性的优势:
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