Windows批处理程序 学习Word格式文档下载.docx
《Windows批处理程序 学习Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《Windows批处理程序 学习Word格式文档下载.docx(51页珍藏版)》请在冰豆网上搜索。
2.9.8转义符18
3常用符号18
3.1重定向符18
3.1.1>
18
3.1.2>
>
3.1.3<
19
3.1.4>
&
3.1.5<
3.2管道命令符19
3.3组合命令19
3.3.1&
3.3.2&
20
3.3.3||20
3.4变量引导符%20
3.5@20
3.6其他符号21
3.6.1转义字符^21
3.6.2界定符“”21
3.6.3逗号,22
3.6.4分号;
22
3.6.5括号()22
3.6.6感叹号!
3.6.7文件通配符22
3.6.8参数开关引导符/23
3.6.9批处理标签引导符:
23
3.6.10程序注释符:
:
3.6.11参数界定符23
3.6.12命令行结束符23
第三章批处理高级24
1IF24
1.1IF语法24
1.1.1IF基本语法24
1.1.2带ELSE的IF语法24
1.2IF用法24
1.2.1第一种用法24
1.2.2第二种用法25
1.2.3第三种用法25
1.2.4第四种用法26
1.2.5第五种用法26
2SET26
2.1用SET命令定义变量26
2.2用SET命令进行计算27
2.3用SET命令处理字符串27
2.3.1字符串替换27
2.3.2字符串截取28
3FOR29
3.1基本语法29
3.2变量30
3.3参数/D31
3.4参数/R32
3.5参数/L32
3.6参数/F32
3.6.1基本用法33
3.6.2切分字符串33
3.6.3定点提取34
3.6.4跳过无关内容35
3.6.5忽略以指定字符打头的行35
3.6.6使用usebackq35
3.6.7该使用for/f的哪种句式?
35
4变量36
4.1系统变量36
4.1.1普通系统变量36
4.1.2特殊系统变量37
4.2延迟变量37
4.2.1什么是延迟环境变量扩展37
4.2.2变量延迟详解38
5Windwos网络命令40
5.1NETUSE40
第四章外部程序命令42
1WINRAR42
2FTP42
3终止子进程42
第一章批处理介绍
1概述
批处理程序是将一系列命令按一定的顺序组成一个可执行的文本文件,其扩展名为BAT或者CMD,这些命令统称批处理命令。
可以使用【Ctrl+C】强行终止一个正在执行的批处理过程。
批处理命令很多,可以在命令行输入【HELP】列举系统自有的批处理命令或者【HELP批处理命令名】了解该命令的详细信息。
其他程序的命令需要参考相关程序。
除了命令以外,批处理程序中还可以使用一些符号辅助命令的执行。
命令之间必须有空格,符号与命令之间可以没有空格。
多个批处理命令可以通过符号连接在一起到达特殊效果。
批处理命令不区分大小写。
如命令【REM】、【rem】、【Rem】都是相同的意思。
推荐命令全部使用大写模式。
有些批处理命令不会忽略空格,在使用时须多加注意。
在执行过程中,批处理程序与其他程序不同,批处理程序中的命令会与执行结果一起输出,又称回写。
如果不想回写命令,而只想看到执行结果,则需要在程序中指定是否回写。
2程序规范
1、每个批处理命令都大写
2、每个段落都有详细的注释
3、语句段和格式控制美观
4、变量名使用有意义的英文单词
第二章批处理初级
1简单命令
1.1ECHO
ECHO命令有五种用法,分别如下:
1、ECHO:
显示当前回显设置。
2、ECHOON:
打开回显。
3、ECHOOFF:
关闭回显。
回显关闭后,命令行的路径信息也不再显示。
4、ECHOmessage:
显示message,类似于其他语言的PRINT语句。
5、ECHO.:
输出空行,相当于输入一个回车。
注意命令中的“.”要紧跟在ECHO后面,中间不能有空格,否则“.”将被当作提示信息输出到屏幕。
另外“.”可以用“,:
;
”/]+\”任一符号替代。
示例1:
ECHOOFF
ECHO这是一个批处理程序
1.2REM
REM用来给程序或CONFIG.SYS里添加注解或说明,该命令后的内容不被执行,只是增加程序可读性。
REM只能注释一行内容,如果有多行内容需要注释,需要多个REM。
REM这是一个批处理程序
REM不做任何事!
1.3PAUSE
PAUSE是暂停执行程序,并显示“请按任意键继续”。
用户按任意键后,程序继续执行。
PAUSE
1.4TITLE
TITLE[string]:
设置命令提示窗口的窗口标题。
TITLE这是批处理程序运行窗口
1.5COLOR
COLOR命令有两种用法:
1、COLORattr:
用来设置命令行窗口前景色和背景色。
attr表示颜色属性,由两个十六进制数字指定,第一个为背景色,第二个为前景色。
可以为以下值:
值
颜色
黑色
4
红色
8
灰色
C
淡红色
1
蓝色
5
紫色
9
淡蓝色
D
淡紫色
2
绿色
6
黄色
A
淡绿色
E
淡黄色
3
湖蓝色
7
白色
B
淡浅绿色
F
亮白色
如果COLORattr中的attr使用相同的前景色和背景色,那么命令将ERRORLEVEL变量的值设置为1。
2、COLOR:
将颜色还原到命令行窗口启动时的颜色。
COLOR24
COLOR
COLOR11
ECHO%ERRORLEVEL%
1.6GOTO
GOTO用于批处理程序中逻辑跳转。
在跳转前,先构建一个标签label,然后用GOTOlabel跳转到标签label处,然后执行标签后的命令。
:
labelhere
……
GOTOlabelhere
1.7TYPE
TYPE用于显示文本文件内容。
语法如下:
TYPE[drive:
][path]filename
1.8RD
RD(RMDIR)用来删除一个目录。
RMDIR[/S][/Q][drive:
]path
RD[/S][/Q][drive:
在不加任何参数时,RD命令只能删除空的文件夹。
目录缺省值当前文件夹。
参数说明:
/S:
除目录本身外,还将删除指定目录下的所有子目录和文件,用于删除目录树
/Q:
安静模式,带/S删除目录树时不要求确认
删除D盘下的空文件夹123
RDd:
\123
示例2:
如果文件夹123不为空,则通过/S参数,可删除文件夹123
RD/Sd:
在使用/S参数时,系统会提示:
d:
\123是否确认(Y/N)?
此时通过/Q参数可以不询问而直接删除。
1.9REN
REN(RENAME)用来重命名文件或者文件夹。
RENAME[drive:
][path]filename1filename2.
REN[drive:
filename1的路径可以省略,缺省情况下为当前目录。
filename2只能是文件(文件夹)名,不能使用任何路径。
把123.txt重命名为456.bat
RENd:
\123.txt456.bat
把后缀名为bat的文件批量更改为txt后缀后的文件
REN*.bat*.txt
示例3:
将文件夹a重命名为b
\ab
当文件具有隐藏属性或系统属性的时候,REN不能直接重命名,需要把文件的隐藏或系统属性去掉方可更名。
2复杂命令
2.1CD
CD用于显示当前目录名或改变当前目录。
CD[/D][drive:
][path]
CD[..]
2.1.1同一分区切换
语法:
CD[drive:
当前目录是C:
\DocumentsandSettings\mzybar,切换到同一分区下不同的目录
C:
\DocumentsandSettings\mzybar>
CDC:
\WINDOWS
\WINDOWS\system32,返回到上一层目录,即C:
\WINDOWS\system32>
CD..也可以CDC:
在批处理命令中“.”表示当前目录,“..”表示上一层目录,“\”表示根目录。
所以命令CD\表示回到根目录。
2.1.2不同分区的切换
CD/D[drive:
\DocumentsandSettings\mzybar,切换到其它分区目录
CD/DD:
\123\abc
如果要切换到D盘的根目录
D:
或者CD/DD:
\
在这里,直接输入驱动器号和冒号,就可以切换到它的根目录。
2.1.3得到当前路径信息
通过%CD%得到当前路径信息
@ECHOOFF
ECHO当前路径是%CD%
2.2ATTRIB
2.2.1语法
ATTRIB用于显示或更改文件属性。
ATTRIB[+R|-R][+A|-A][+S|-S][+H|-H][[drive:
][path]filename][/S[/D]]
+:
设置属性
-:
清除属性
R:
只读文件属性。
A:
存档文件属性。
S:
系统文件属性。
H:
隐藏文件属性。
/S:
处理当前文件夹及其子文件夹中的匹配文件。
/D:
也处理文件夹,必须与/S一起使用
2.2.2用法
1、查看文件的文件属性
格式:
ATTRIB[drive:
][path][filename]
查看d:
\pagefile.sys文件的属性
ATTRIBd:
\pagefile.sys
2、修改文件的属性
消除d:
\pagefile.sys的“隐藏”属性
ATTRIB–hd:
给d:
\pagefile.sys设置“系统”和“隐藏”属性
ATTRIB+s+hd:
3、批量文件处理
示例4:
将d:
\123及其子目录下的所有扩展名为bat文件(包括子目录的子目录的文件)设置为“隐藏”属性,但文件夹没有设置“隐藏”属性
ATTRIB+hd:
\123\*.bat/s.
示例5:
\123目录以及它同名的子目录设为了“隐藏”,而其它文件及子目录都没有设置“隐藏”
\123/s/d
示例6:
\123所有子目录和文件(包括子目录的子目录和文件)设为“隐藏”属性,但d:
\123目录没有设置“隐藏”属性。
\123\*.*/s/d
2.3DEL
2.3.1语法
DEL(ERASE)命令用于删除一个或多个文件,但不能删除目录。
DEL[/P][/F][/S][/Q][/A[[:
]attributes]]names
ERASE[/P][/F][/S][/Q][/A[[:
names:
指定一个或数个文件或目录列表。
通配符可被用来删除多个文件。
如果指定了一个目录,目录中的所有文件都会被删除
/P:
删除每一个文件之前提示确认
/F:
强制删除只读文件
从所有子目录删除指定文件
安静模式,删除全局通配符时,不要求确认
/A:
根据属性选择要删除的文件,其中attributes为:
R(只读文件)、S(系统文件)、H(隐藏文件)、A(存档文件)、-(表示“否”的前缀)
2.3.2用法
删除文件abc.txt
DELd:
\123\abc.txt
删除每一个文件之前提示确认/
DEL/pd:
\123\*.*
删除d:
\123目录及其子目录下所有文件,要求确认
DEL/sd:
\123目录及其子目录下所有文件,无需确认直接删除
DEL/s/qd:
\123目录及其子目录下所有只读属性的文件
DEL/ar/sd:
2.4COPY
2.4.1语法
COPY只能复制文件,不能复制文件夹。
COPY[/D][/V][/N][/Y|/-Y][/Z][/A|/B]source[/A|/B]
[+source[/A|/B][+...]][destination[/A|/B]]
/D:
允许解密要创建的目标文件
/V:
验证新文件写入是否正确
/N:
复制长文件名(长扩展名)的文件时,尽可能使用短文件名
/Y:
不使用确认是否要改写现有目标文件的提示
/-Y:
使用确认是否要改写现有目标文件的提示
/Z:
用可重新启动模式复制已联网的文件
source:
指定要复制的文件,包括路径和文件名
destination:
为新文件指定目录和或文件名,缺省时则为当前目录
表示一个ASCII文本文件
/B:
表示一个二进位文件
2.4.2复制单个文件
把文件123.txt复制到D:
\目录下,文件名不变
COPYc:
\123.txtd:
\目录下,并修改文件名和文件格式
\abc.bat
2.4.3复制多个文件
把C:
\123目录中的文件全部拷到目录D:
\abc下
\123d:
\abc
COPY文件时,重名文件是否需要手工确认
COPY/Yc:
\123\*.rmd:
将c:
\123目录中所有rm格式的文件复制到d:
\abc目录中,如果目标目录中已经存在相同文件名的文件时,就会出现如“改写x:
\xx吗?
(Yes/No/All):
”这样的提示,选择是覆盖、不覆盖还是全部覆盖,通过参数/Y(单个文件或多个文件皆可使用),可以实现重名文件无须确认直接覆盖。
参数/-Y强制手工确认。
2.4.4合并文件
COPY文件1+文件2+……文件N合并后的文件名
把1.mp3和2.mp3合并成3.mp3
COPY/Bd:
\1.mp3+d:
\2.mp3e:
\3.mp3
2.5XCOPY
2.5.1语法
COPY只能复制文件,XCOPY能复制文件和目录树。
XCOPYsource[destination][/A|/M][/D[:
date]][/P][/S[/E]][/V][/W]
[/C][/I][/Q][/F][/L][/G][/H][/R][/T][/U]
[/K][/N][/O][/X][/Y][/-Y][/Z]
[/EXCLUDE:
file1[+file2][+file3]...]
指定要复制的文件
指定新文件的位置和/或名称
只复制有存档属性集的文件,但不改变属性
/M:
只复制有存档属性集的文件,并关闭存档属性
/D:
m-d-y:
复制在指定日期或指定日期以后更改的文件,如果没有提供日期,只复制那些源时间比目标时间新的文件
/EXCLUDE:
file1[+file2][+file3]...:
指定含有字符串的文件列表。
每一个字符串必须在文件的单独行中。
如果有任何字符串与要被复制的文件的绝对路径相符,那个文件将不会得到复制。
例如,指定如\obj\或.obj的字符串会排除目录obj下面的所有文件或带有.obj扩展名的文件
创建每个目标文件前提示
复制目录和子目录,除了空的
/E:
复制目录和子目录,包括空的,与/S/E相同。
可以用来修改/T
验证每个新文件/W:
提示在复制前按键
/C:
即使有错误,也继续复制
/I:
如果目标不存在,又在复制一个以上的文件,则假定目标一定是一个目录
复制时不显示文件名
复制时显示完整的源和目标文件名
/L:
显示要复制的文件
/G:
允许将没有经过加密的文件复制到不支持加密的目标
/H:
也复制隐藏和系统文件
/R:
覆盖只读文件
/T:
创建目录结构,但不复制文件,不包括空目录或子目录。
要复制空目录,必须包含/E选项
/U:
只复制已经存在于目标中的文件
/K:
复制属性。
一般的XCOPY会重置只读属性
用生成的短名复制
/O:
复制文件所有权和ACL信息
/X:
复制文件审核设置(隐含/O)
不提示确认改写一个现存目标文件
提示确认改写一个现存目标文件
用重新启动模式复制网络文件
2.5.2用法
复制d:
\123目录下所有文件(夹)到e:
\kkk,不包括空的子目录
XCOPY/Sd:
\123e:
\kkk\
\kkk,包括空的子目录
XCOPY/Ed:
\kkk,包括空的子目录,包括隐藏或系统的文件(默认情况下XCOPY不复制隐藏或系统文件)
XCOPY/E/Hd:
注意:
指定Destination是文件还是目录。
如果Destination不包含现有目录且不以反斜杠(\)结尾,系统将会询问,目标X:
\XXX是文件名还是目录名。
2.6MD
2.6.1语法
MD(MKDIR)用来创建目录。
MKDIR[drive:
]path
MD[drive:
路径是可以缺省,如果缺省则在当前目录下创建新文件夹。
如果创建的新文件夹及其路径带有空格或特殊符号的,要用双引号括起来。
2.6.2用法
在D盘下建立一个名为abc的文件夹
MDd:
在当前目录下创建一个名为abc的文件夹
MDabc
在D盘下建立一个名为mygame的文件夹,如果文件夹名称包含特殊符号的,一定要用双引号括起来
MD"
d:
\mygame"
在当前目录下建立abc和abcd两个文件,同时D:
\gmae下也建立一个文件夹123
MDabcD:
\gmae\123abcd
创建多级目录,在D盘下建立文件夹a,,后在a中建文件夹b,接着再在b中建文件夹c
\a\b\c
2.7MOVE
2.7.1语法
MOVE用来移动文件或重命名文件和目录。
要移动至少一个文件:
MOVE[/Y|/-Y][drive:
][path]filename1[,...]destination
参数如下:
[drive:
][path]filename1:
指定要移动的文件位置和名称
指定文件的新位置。
目标可包含一个驱动器号和冒号、一个目录名或组合。
如果只移动一个文件并在移动时将其重命名,还可以包括文件名
要重命名一个目录:
][path]dirname1dirname2
][path]dirname1:
指定要重命名的目录
dirname2:
指定目录的新名称
取消确认改写一个现有目标文件的提示
对确认改写一个现有目标文件发出提示
2.7.2用法
把文件夹abc移到文件夹abcd内
MOVEd:
\abcd:
\abcd
把当前目录下的123.txt移动到当前文件夹abc内。
这里都使用了相对路径,缺省路径情况下默认为当前目录
MOVE123.txtabc
重命名文件夹。
如果目标文件夹abcd不存在,则把abc移到d:
\下,并把自身名称更改为abcd。
利用这一特性,MOVE命令具备重命名功能
重命名文件。
如果456.txt存在,系统将会提示:
改写D:
\456.txt吗?
(Yes/No/All):
当输入Y后则123.txt会覆盖456.txt。
如果456.txt不存在,则把123.txt移到d:
\abc目录下,并重命名为456.txt
\abc\456.txt
通过/Y参数,系统不会提示,而直接把123.txt覆盖456.txt。
对于隐藏或系统属性的文件,只有把它们的属性去除后,MOVE命令才会执行。
总结:
对于MOVEAB的模式
1、如果A、B同为文件夹名。
①如果B存在,则把A移动到B目录下;
②如果B不存在,则把A移动到B所在的目录下,同时重命名为B
2、如果A为文件名,B为文件夹名。
①将把A移动到B目录下;
②如果B文