想完全掌握批处理要精通IF和FOR,还有选择语句
第一节: 批处理基础入门
1.什么是批处理:
批处理就是把多个DOS命令或可执行文件放在一个文件中进行自动连续的运行,
它的扩展名是.bat或cmd,把这样的文件叫称为批处理文件.
2批处理文件的建立和运行环境:
批处理文件可以在DOS和WINDOWS环境下,它是一中文本文件,所以我们可以用任何一种文本编辑
程序来编辑,如WINDOWS自带的"记事本",写字版"等,在DOS环境下可以用edit命令来编辑
批处理常用命令和特殊符号
pause 暂停 @ 命令行回显屏蔽符
rem 注释 % 批处理变量引导符
:: 注释
echo 回显控制命令 | 管道传递符
color 控制台色设置 || 连接符
: 标记符
goto 和:跳转命令 , 相当于空格
flnd 文件中搜索字符串 ^ 转义符
nul 理解为空字符
assoc 显示文件扩屏关联 con 理解为屏幕
*和? 通配符
call 调用批处理文件 &和&& 连接符
>和>> 输出定向符
@
功能:命令回显屏蔽符
echo [on|off]
功能:显示和控制命令在执行时是否显示自身
rem 和::
功能:起注释作用此命令后的字符在程序中不做运行
pause
功能:当程序运行到这行时就会暂停下来并提示用户任意键继续
例题:
echo on ::打开本行以下的命令显示
echo off ::关闭本行以下的命令显示
@echo off rem关闭本行和以下命令自身的显示
echo 批处理 rem显示"批处理"
pause ::暂停用户按任意键后继续
第二节 : 命令及特殊符号
color 控制台颜色设置命令
格式: color [attr]
attr 指定控制台输出的颜色属性(颜色属性由两个16进制数组成,一个为背景色,
第二个为字体色,如果只指定一个属性,这个属性将设置字体颜色,无颜色属性时程序
将还原到CMD启动时的颜色)
属性如下:
0 =黑色 8 =灰色
1 =蓝色 9 =淡蓝色
2 =绿色 A =淡绿色
3 =浅绿色 B =淡浅绿色
4 =红色 C =淡红色
5 =紫色 D =淡紫色
6 =黄色 E =淡黄色
7 =白色 F =亮白色
例如: color fc ::设置亮白色背景上产生淡红色字体
color 2 ::设置黑色字体
goto和call goto 跳转命令常与:结合使用
格式: goto ladel
说明: ladel 在批处理中用做标签的文字字符串,标签必须单独一行,
并以:开头
call 调用另一个批处理文件
格式: call 批处理文件名
例如:
@echo off ::屏蔽本行及以下各行的命令本身显示
md ss ::在当前目录下建立一个ss子目录
goto abc ::跳转到标签abc执行命令
del *.txt ::删除所有TXT文件
call a.bat ::调用批处理文件a.bat
:abc rem标签abc
exit rem退出本程序
find字符串查找命令
格式: find
FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "string" [[drive:][path]filename[ ...]]
/V 显示所有未包含指定字符串的行。
/C 仅显示包含字符串的所有行数。
/N 显示行号。
/I 搜索字符串时忽略大小写。
/OFF[LINE] 不要跳过具有脱机属性集的文件。
"string" 指定要搜索的文字串,
[drive:][path]filename
指定要搜索的文件。
如果没有指定路径,FIND 将搜索键入的或者由另一命令产生的文字。
s.txt文件内容如下:
12345
abc234
sd45
54hg123
例如:
find /c "23" s.txt rem显示3
find "23" s.txt rem显示第一,二,四行内容
find /n "23" s.txt rem显示第一,二,四行内容及行号
find /v "23" s.txt rem显示第三行内容
assoc
格式: ASSOC
ASSOC [.ext[=[fileType]]]
功能:显示或修改文件扩展名关联
.ext 指定跟文件类型关联的文件扩展名
fileType 指定跟文件扩展名关联的文件类型
说明: 键入 ASSOC 而不带参数,显示当前文件关联。如果只用文件扩展
名调用 ASSOC,则显示那个文件扩展名的当前文件关联。如果不为
文件类型指定任何参数,命令会删除文件扩展名的关联。
例如:
assoc :显示当前文件关联
assoc .txt 显示.txt=txtfile
assoc .txt=txtfile :设置txt文件以txt类型打开
assoc .mp3=txtfile :所有的mp3会变成文本文件图标(破坏性)
第三节 < > >> & && ^
< 输入定向符 功能:输入传递
> 输出定向符 功能:输出传递
>> 输出定向符 功能:传递并且覆盖
例;
find "23"<s.txt ::显示文件s.txt有"23"字符串的所有行
echo 123 >a.txt ::新建立a.txt文件,内容为123,如文件存用123覆盖远文件内容
echo 456>>a.txt ::将456追加a.txt文件内容末尾
& 和&& 连接符 功能:连接多个命令一起执行
说明: &一行中使用2个以上不同命令,当第一个命令执行失败了,也不影响后面的
命令,&&第一个命令失败时后面的命令不会执行
例:
dir z:& dir y:& dir c: ::按顺序查看Z盘Y盘C盘内容,无论命令错对
md ss && dir c: && md sl ::把多条命令连接在一起执行,前面命令失败,后面命令不执行
^ 转义符 功能:取掉特殊符号的特殊功能
例 :
echo test ^1.txt ::显示test >1.txt
| || unl con
| :管道传递符 功能: 是将上一命令执行的结果传到下一个命令去处理
例:
echo y| format a: ::把Y传递给format命令达到自动格式化A的作用
|| :连接符 功能:顺序执行多条命令,碰到执行成功的命令,后面的命令不再执行
例:
find "ok" s.txt || echo no ::find命令成功显示find命令结果,不成功显示no
unl ::可以理解为空字符,常用作删除文件内容屏闭命令提示信息等
例:
copy unl d.txt/y ::不作提示的删除文件d.txt内容
pause>unl ::屏闭暂停命令提示信息
con ::可以理解为键盘或屏幕
例:
copy con ss.txt ::通过键盘输入建立一个ss.txt文件