1.rem和::
rem注释命令,该命令后的内容不被执行,但能回显
::注释命令,该命令后的内容不被执行,也不能被回显
2.echo
1)echo off 执行时,批处理所有的命令行都不显示,只显示执行后的结果
2)显示echo当前状态 打开或关闭
3)echo 信息内容 在后面显示该信息
4)输出空行 echo. 注意echo后不能跟空格
5)建立新文件或增加文件内容
格式:echo 文件内容>文件名
echo 文件内容>>文件名
3.pause 暂停
要显示其他提示语,可以这样用:
echo 其他提示语 & pause > nul
4.errorlevel 程序返回码
echo %errorlevel%
每个命令运行结束,可以用这个命令行格式查看返回码
用于判断刚才的命令是否执行成功
默认值为0,一般命令执行出错会设 errorlevel 为1
5.if
1)if [not] errorlevel number command
IF ERRORLEVEL这个句子必须放在某一个命令的后面,执行命令后由IF ERRORLEVEL 来判断命令的返回值
2) IF [NOT] string1==string2 command
string1和string2都为字符的数据,英文内字符的大小写将看作不同,这个条件中的等于号必须是两个(绝对相等的意思)
条件相等后即执行后面的command
3) IF [NOT] EXIST filename command
EXIST filename为文件或目录存在的意思
6.goto和:
goto 跳转命令
: 一个标签
goto到:命令行的位置
7.type
type 路径\文件名 内容显示在屏幕上或打印机输出
ex:c:\windows\system32\table.log
c:\windows\system32\table.log >prn
8.pushd和popd 切换目录
pushd 路径 切换为当前目录
popd 恢复到之前的目录
9.call 在批处理执行过程中调用另一个批处理
call command 参数
在批处理编程中,可以根据一定条件生成命令字符串,用call可以执行该字符串,
调用的其它批处理程序。filename 参数必须具有 .bat 或 .cmd 扩展名
CALL :label arguments
调用本文件内命令段,相当于子程序。被调用的命令段以标签:label开头
以命令goto :eof结尾
10.shift 更改批处理中可替换参数的位置
shift /n n在零和八之间
ex:SHIFT /2
会将 %3 移位到 %2,将 %4 移位到 %3,等等;并且不影响 %0 和 %1
11.setlocal和变量延迟
为了更好的说明问题,我们先引入一个例子。
例1:
@echo off
set a=4
set a=5 & echo %a%
pause
结果:4
解说:为什么是4而不是5呢?在echo之前明明已经把变量a的值改成5了?
让我们先了解一下批处理运行命令的机制:
批处理读取命令时是按行读取的(另外例如for命令等,其后用一对圆括号闭合的所有语句也当作一行),在处理之前要完成必要的预处理工作,这其中就包括对该行命令中的变量赋值。我们现在分析一下例1,批处理在运行到这句“set a=5 & echo %a%”之前,先把这一句整句读取并做了预处理——对变量a赋了值,那么%a%当然就是4了!(没有为什么,批处理就是这样做的。)
而为了能够感知环境变量的动态变化,批处理设计了变量延迟。简单来说,在读取了一条完整的语句之后,不立即对该行的变量赋值,而会在某个单条语句执行之前再进行赋值,也就是说“延迟”了对变量的赋值。
那么如何开启变量延迟呢?变量延迟又需要注意什么呢?举个例子说明一下:
例2:
@echo off
setlocal enabledelayedexpansion
set a=4
set a=5 & echo !a!
pause
结果:5
解说:启动了变量延迟,得到了正确答案。变量延迟的启动语句是“setlocal enabledelayedexpansion”,并且变量要用一对叹号“!!”括起来(注意要用英文的叹号),否则就没有变量延迟的效果。
分析一下例2,首先“setlocal enabledelayedexpansion”开启变量延迟,然后“set a=4”先给变量a赋值为4,“set a=5 & echo !a!”这句是给变量a赋值为5并输出(由于启动了变量延迟,所以批处理能够感知到动态变化,即不是先给该行变量赋值,而是在运行过程中给变量赋值,因此此时a的值就是5了)。
12.find 搜索文件中的字符串
find /v 显示所有未包含指定字符串的行
/c 显示包含字符串的行数
/n 显示行号
“string”
13.dir 显示文件和文件夹
14.cls 清屏
15.title 修改cmd窗口标题
16.color 修改cmd窗口前景和背景颜色
color 0-9 A-F
前面未背景 后面为前景 默认color 07
17.ren 修改文件名字
ren [盘符:][路径]〈旧文件名〉〈新文件名〉
18.md 建立目录
MD[盘符:][路径名]〈子目录名〉
19.rd 删除目录
RD[盘符:][路径名][子目录名]
子目录中必须是空的
20.del 删除文件
DEL[盘符:][路径]〈文件名〉[/P]
使用说明:
(1)选用/P参数,系统在删除前询问是否真要删除该文件,若不使用这个参数,则自动删除;
(2)该命令不能删除属性为隐含或只读的文件;
(3)在文件名称中可以使用通配符;
(4)若要删除磁盘上的所有文件(DEL*·*或DEL·),则会提示:(Arey ou sure?)(你确定吗?)若回答Y,则进行删除,回答N,则取消此次删除作业
21.copy 复制文件夹
copy 源文件名 目标文件名
22.deltree 删除目标及其下所有文件和下级目录