1. 自定义变量 : set 命令
@echo off
set var=value
echo %var%
pause
注释:var就是自定义的变量。
2, 控制结构:if 命令
(1)命令格式(三种)
1) if [not] "参数" == “字符串” 待执行的命令
参数如果等于(not表示不等)指定的字符串,则条件成立,运行命令,否则运行下一句。
注释1:为了防止参数为空,一般会将参数与字符串用双引号括起来
比如:if [%1]==[A] 或者 if %1*==A* ,这里* 不是通配符,是要保证等号两边的字符一致。
2) if [not] exist [路径/] 文件名 待执行的命令
如果有指定的文件,则条件成立,运行命令,否则运行下一句。
示例:
if exist c:/config.sys type c:/config.sys
解释:如果存在 c:/config.sys 文件,则显示它的内容。
3)if errorlevel <数字> 待执行命令
很多DOS程序在运行结束后悔返回一个数字值用来表示程序运行的结果(或者状态),通过if errorlevel 命令可以判定程序的返回值,根据不同的返回值来决定执行不同的命令(返回值必须按照从大到小的顺序排列)。
注释1:IF ERRORLEVEl 是用来测试它的上一个DOS命令的返回值的,注意只是上一个命令的返回值,而且返回值必须依照从大到小的次序顺序判断。
示例:
IF ERRORLEVEL 1 ECHO 文件拷贝失败
IF ERRORLEVEL 0 ECHO 成功拷贝文件
IF ERRORLEVEL 2 goto x2
4) if number 比较符 value command
EQU 等于 ; NEQ 不等于 ; LSS 小于 ; LEQ 小于或等于 ; GTR 大于 ;GEQ 大于或等于
5)if defined test command // 如果定义了变量test ,则执行command
示例:if defined test echo it ist defined.
6) if 条件1 (command1)else (command2) //条件1后的命令行必须有括号
在if 后,若要执行多条命令,可以将这些命令放在一对括号中,且左括号必须跟if关键字在同一行,如:
cd /d :/slfslfsl
if errorlevel 1(
mkdir d:\error
mkdir d:\1
mkdir d:\2)