常用的批处理命令:

  • REM:

REM 是个注释命令一般是用来给程序加上注解的,该命令后的内容在程序执行的时候将不会被显示和执行。

  • ECHO:

@字符放在命令前将关闭该命令回显,无论此时ECHO是否为打开状态。
ECHO的作用有如下:
1、打开回显或关闭回显功能
格式:ECHO on或者ECHO off
如果想关闭“ECHO off”自身的显示,则需要在该命令前加上@
2、显示当前ECHO设置状态
格式:ECHO
3、ECHO 信息内容
4、输出空格
格式:ECHO.相当于在输出一个空格\
5、新建文件或者增加文件内容
格式:
ECHO 文件内容>文件名 新建文件
ECHO 文件内容>>文件名 追加内容到文件当中
6、另喇叭鸣响
格式:ECHO ^G

  • PAUSE

暂停,如果要显示其他提示语,可以这样子:
ECHO 提示语 &PAUSE>nul

  • errorlevel

程序返回码
ECHO %errorlevel%
每个命令结束时,可用这个查看命令返回码,默认为0,出错的时候会为1

  • title

设置命令窗口的标题
格式:title 标题

  • color

设置控制台的背景颜色和字体颜色
格式:COLOR 12
需要传入两个参数第一个是背景颜色,第二个是字体颜色
0 = 黑色 8 = 灰色
1 = 蓝色 9 = 淡蓝色
2 = 绿色 A = 淡绿色
3 = 湖蓝色 B = 淡浅绿色
4 = 红色 C = 淡红色
5 = 紫色 D = 淡紫色
6 = 黄色 E = 淡黄色
7 = 白色 F = 亮白色

  • start 命令

批处理中调用外部程序的命令,外部程序会在新窗口中运行,批处理程序继续往下执行,如果需要等待外部程序执行完成后才继续执行则用:start explorer

  • CALL

用来在批处理执行过程中调用另一个批处理,当另一个批处理执行完后再继续执行原来的批处理
格式:
CALL command调用一条批处理命令,和直接执行命令效果一样
CALL [drive:][path]filename [batch-parameters]
调用其他批处理,filename参数必须具有.bat或者.cmd的扩展名

  • IF语句

格式:
IF [NOT] ERRORLEVEL number command
IF [NOT] string1==string2 command
IF [NOT]EXIST filename command
(1). IF [NOT] ERRORLEVEL number command
IF ERRORLEVE 1 command1
IF ERRORLEVE 0 command2
(2).IF [NOT] string1==string2 command
string1和string2都为字符的数据,区分英文字符的大小写
(3).IF [NOT]EXIST filename command
判断文件存不存在

  • setocal

批处理读取命名时是按行读取的,用一对圆括号闭合的所有语句也看做是一行,在处理完成之前首先得完成预处理工作,这其中就包括了对该命令行中的变量赋值。而为了能够感知环境变量的动态变化批处理设计了变量延迟。
setlocal enabledelayedexpansion
do ( set a=%%i echo !a! )
pause
这里开启了变量延迟,并用’!!’把变量扩起来,因此得到我们预期的结果,如果不用则全部输出 ECHO 处于关闭状态

  • ATTRIB 显示或更改文件属性

ATTRIB [+R|-R] [+A|-A] [+S|-S] [+H|-H] [[drive:] [path] filename] [/S [/D]]
+ 设置属性。 - 清除属性。
R 只读文件属性。
A 存档文件属性。
S 系统文件属性。
H 隐藏文件属性。
[drive:][path][filename] 指定要处理的文件属性。 /S 处理当前文件夹及其子文件夹中的匹配文件。 /D 也处理文件夹。