设置运行路径
- 将写成的BAT文件统一保存至一个路径中
- 在环境变量à系统变量/用户变量中的PATH项中增加指定的该路径(与PATH项中其它值间使用分号隔开),可不需指定路径而调用BAT程序
- 开机即执行的程序在C:\WINDOWS\system32\AUTOEXEC.NT中定义
保留符号
符号 | 意义 |
REM | 注释 |
:: | 注释 |
@ | 回显屏蔽 |
+ | 命令连接 |
< | 文件输入重定向 |
> | 文件输出重定向 |
>> | 文件输出重定向 |
% | 变量引导符 |
%0 | 批处理命令本身 |
%[1-9] | 批处理命令的各个参数 |
“” | 防空 |
== | 逻辑等 |
NOT | 逻辑非 |
EXIST | 存在 |
* | 文件通配符,多个字符 |
? | 文件通配符,1个字符 |
| | 命令管道符 |
/ | 参数开关引导 |
: | 标号引导,冒号与标号间不能有空格 |
子程序(批处理命令)
1、调用的方式是使用CALL
2、定义子程序时可以使用形如%[0-9]的形参,其中%0为子程序名,各形参直接在子程序中使用,无须定义
3、调用子程序时,在子程序名后以空格分格依次写上%[1-9]的实参
控制语句
IF
1、IF [NOT] command [GOTO] command
Control Statements
If [not] “变量” == “值” statement 双引号非必需,用于防空
If [not] exist 文件 statement
If errorlevel 上一个命令执行返回值 statement 使用大于等于判断成立
Goto 标号
GOTO
1、定义标签使用:后跟字符串表示,标签定义行不要定义任何执行语句
2、使用标签用goto 后直接跟标签字符串(不要冒号)
3、跳转后执行标签下一行开始的所有语句
4、标签没有结束标记,可在需结束时加GOTO 结束标号来实现
CHOICE
Choice [/c 选项(默认为Y/N)] [/N] [/CS] [/T timeout] [/D choice] [/M text]
/N 隐藏选项列表
/CS 区分大小写
/T timeout /D choice timeout后无选择默认选择choice
/M 提示之前要显示的消息
FOR
For %%variable in (集合) do command [参数]
集合是一个或一组文件/字符串,可用通配符
交互程序的构造[CHOICE,ERRORLEVEL模式]
1、使用ECHO语名列出选项及解释(非必须)
2、使用CHOICE语句中定义选项索引和提示,CHOICE /C 选项索引(一个字母一个选项,各字母间不需空格分隔) /M 提示消息
3、使用ERRORLEVEL语句定义各选项所需执行的操作,IF ERRORLEVEL 索引序号(从大到小,序号即索引中的第几个字母) GOTO 标签
4、定义各标签执行语句
数学运算
- SET /a 变量=表达式
- 变量不需提前定义,也无需前加%
- 再次引用该变量要在变量字符串前后都加%
- 不能进行小数运算
BAT主要命令与功能说明
命令 | 功能 |
ASSOC | 显示或修改文件扩展名关联。 |
AT | 计划在计算机上运行的命令和程序。 |
ATTRIB | 显示或更改文件属性。 |
BREAK | 设置或清除扩展式CTRL+C检查。 |
CACLS | 显示或修改文件的访问控制列表(ACLs)。 |
CALL | 从另一个批处理程序调用这一个。 |
CD | 显示当前目录的名称或将其更改。 |
CHCP | 显示或设置活动代码页数。 |
CHDIR | 显示当前目录的名称或将其更改。 |
CHKDSK | 检查磁盘并显示状态报告。 |
CHKNTFS | 显示或修改启动时间磁盘检查。 |
CLS | 清除屏幕。 |
CMD | 打开另一个Windows命令解释程序窗口。 |
COLOR | 设置默认控制台前景和背景颜色。 |
COMP | 比较两个或两套文件的内容。 |
COMPACT | 显示或更改NTFS分区上文件的压缩。 |
CONVERT | 将FAT卷转换成NTFS。您不能转换当前驱动器。 |
COPY | 将至少一个文件复制到另一个位置。 |
DATE | 显示或设置日期。 |
DEL | 删除至少一个文件。 |
DIR | 显示一个目录中的文件和子目录。 |
DISKCOMP | 比较两个软盘的内容。 |
DISKCOPY | 将一个软盘的内容复制到另一个软盘。 |
DOSKEY | 编辑命令行、调用Windows命令并创建宏。 |
ECHO | 显示消息,或将命令回显打开或关上。 |
ENDLOCAL | 结束批文件中环境更改的本地化。 |
ERASE | 删除至少一个文件。 |
EXIT | 退出CMD.EXE程序(命令解释程序)。 |
FC | 比较两个或两套文件,并显示不同处。 |
FIND | 在文件中搜索文字字符串。 |
FINDSTR | 在文件中搜索字符串。 |
FOR | 为一套文件中的每个文件运行一个指定的命令。 |
FORMAT | 格式化磁盘,以便跟Windows使用。 |
FTYPE | 显示或修改用于文件扩展名关联的文件类型。 |
GOTO | 将Windows命令解释程序指向批处理程序中某个标明的行。 |
GRAFTABL | 启用Windows来以图像模式显示扩展字符集。 |
HELP | 提供Windows命令的帮助信息。 |
IF | 执行批处理程序中的条件性处理。 |
LABEL | 创建、更改或删除磁盘的卷标。 |
MD | 创建目录。 |
MKDIR | 创建目录。 |
MODE | 配置系统设备。 |
MORE | 一次显示一个结果屏幕。 |
MOVE | 将文件从一个目录移到另一个目录。 |
PATH | 显示或设置可执行文件的搜索路径。 |
PAUSE | 暂停批文件的处理并显示消息。 |
POPD | 还原PUSHD保存的当前目录的上一个值。 |
| 打印文本文件。 |
PROMPT | 更改Windows命令提示符。 |
PUSHD | 保存当前目录,然后对其进行更改。 |
RD | 删除目录。 |
RECOVER | 从有问题的磁盘恢复可读信息。 |
REM | 记录批文件或CONFIG.SYS中的注释。 |
REN | 重命名文件。 |
RENAME | 重命名文件。 |
REPLACE | 替换文件。 |
RMDIR | 删除目录。 |
SET | 显示、设置或删除Windows环境变量。 |
SETLOCAL | 开始批文件中环境更改的本地化。 |
SHIFT | 更换批文件中可替换参数的位置。 |
SORT | 对输入进行分类。 |
START | 启动另一个窗口来运行指定的程序或命令。 |
SUBST | 将路径跟一个驱动器号关联。 |
TIME | 显示或设置系统时间。 |
TITLE | 设置CMD.EXE会话的窗口标题。 |
TREE | 以图形模式显示驱动器或路径的目录结构。 |
TYPE | 显示文本文件的内容。 |
VER | 显示Windows版本。 |
VERIFY | 告诉Windows是否验证文件是否已正确写入磁盘。 |
VOL | 显示磁盘卷标和序列号。 |
XCOPY | 复制文件和目录树。 |