批处理(Batch),也称为批处理脚本。顾名思义,批处理就是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,它应用于DOS和Windows系统中。批处理文件的扩展名为bat ,目前比较常见的批处理包含两类:DOS批处理和PS批处理。PS批处理是基于强大的图片编辑软件Photoshop的,用来批量处理图片的脚本;而DOS批处理则是基于DOS命令的,用来自动地批量地执行DOS命令以实现特定操作的脚本。更复杂的情况,就需要使用if、for、goto等命令控制程式的运行过程,如同C、Basic等高级语言一样。如果需要实现更复杂的应用,利用外部程式是必要的,这包括系统本身提供的外部命令和第三方提供的工具或者软件。批处理程序虽然是在命令行环境中运行,但不仅仅能使用命令行软件,任何当前系统下可运行的程序都可以放在批处理文件中运行。
COPY与COPY命令类似,也是文件对文件的复制,只是XCOPY命令可以将子目录的文件一并复制,COPY命令只可以复制某一指定目录下的文件,无法将子目录区一并复制。另外应注意的是:XCOPY是外部命令,而COPY为内部命令。简单解释下内部命令和外部命令:
内部命令:我们可以直接在CMD下就可以执行的命令,例如:telnet、ftp、dir、cd、等等,可以在CMD下输入help进行查看。
外部命令:就是cmd下不能直接运行的命令,需要在cmd下切换到所在的目录才能运行的命令。
3.1、copy不能在有子目录存在的文件中拷贝文件的同时重命名此文件名,而xcopy能,不过会出现提示,当然我们可以通过添加参数而使它不提示。
复制代码代码如下:
C:\>copy c:\bat\hai.bat d:\bat\hello.bat。提示:系统找不到指定的路径。
复制代码代码如下:
C:\>copy c:\hai.bat d:\hell.bat
复制1个文件
C:\>xcopy c:\bat\hai.bat d:\bat\hello.bat
目标d:\bat\hello.bat是文件名,还是目录名?
(F = 文件,D = 目录)? F
复制了1个文件
3.2、copy命令能合并两个文件,而xcopy不能。
将文件1.txt和2.txt合并为3.txt。
复制代码代码如下:
C:\>copy /b c:\1.txt+2.txt c:\3.txt
命令格式:copy /b 文件1+文件2+......文件N 合并后的文件名
命令讲解:使用“+”将多个相同或不同格式的文件合并为一个文件。
3.3、xcopy命令详解
XCOPY——目录复制命令
1.功能:复制指定的目录和目录下的所有文件连同目录结构。
2.类型:外部命令
3.格式:XCOPY [源盘:]〈源路径名〉[目标盘符:][目标路径名][/S][/V][/E]
4.使用说明:
(1)XCOPY是COPY的扩展,可以把指定的目录连文件和目录结构一并拷贝,但不能拷贝隐藏文件和系统文件;
(2)使用时源盘符、源目标路径名、源文件名至少指定一个;
(3)选用/S时对源目录下及其子目录下的所有文件进行COPY。除非指定/E参数,否则/S不会拷贝空目录,若不指定/S参数,则XCOPY只拷贝源目录本身的文件,而不涉及其下的子目录;
(4)选用/V参数时,对的拷贝的扇区都进行较验,但速度会降低。
3.4、xcopy参数详解
xcopySource [Destination] [/w] [/p] [/c] [/v] [/q] [/f] [/l] [/g] [/d[:MM-DD-YYYY]] [/u] [/i] [/s [/e]] [/t] [/k] [/r] [/h] [{ /a |/m}] [/n] [/o] [/x] [/exclude:FileName1[+[FileName2]][+[FileName3]] [{ /y | /-y}] [/z]
参数
Source
必需。指定要复制的文件的位置和名称。该参数必须包含驱动器或路径。
Destination
指定要复制的文件的目标。该参数可以包含驱动器号和冒号、目录名、文件名或者它们的组合。
/w
在开始复制文件之前将显示以下消息并等待您的响应:
Press any key to begin copying file(s)
/p
提示您确认是否要创建每个目标文件。
/c
忽略错误。
/v
在写入目标文件时验证每个文件,以确保目标文件与源文件完全相同。
/q
禁止显示“xcopy”的消息。
/f
复制时显示源文件名和目标文件名。
/l
显示要复制的文件列表。
/g
创建已解密的目标文件。
/d [:MM-DD-YYYY]
只复制那些在指定日期或指定日期之后更改过的源文件。如果不包括“MM-DD-YYYY”值,“xcopy”会复制比现有“Destination”文件新的所有“Source”文件。该命令行选项使您可以更新更改过的文件。
/u
只从“Source”复制“Destination”中已有的文件。
/i
如果“Source”是一个目录或包含通配符,而“Destination”不存在,“xcopy”会假定“destination”指定目录名并创建一个新目录。然后,“xcopy”会将所有指定文件复制到新目录中。默认情况下,“xcopy”将提示您指定“Destination”是文件还是目录。
/s
复制非空的目录和子目录。如果省略“/s”,则“xcopy”将在单个目录中工作。
/e
复制所有子目录,包括空目录。将“/e”与“/s”和“/t”命令行选项一起使用。
/t
只复制子目录结构(即目录树),不复制文件。要复制空目录,必须包含“/e”命令行选项。
/k
复制文件,如果源文件具有只读属性,则在目标文件中保留该属性。默认情况下,“xcopy”将删除只读属性。
/r
复制只读文件。
/h
复制具有隐藏和系统文件属性的文件。默认情况下,“xcopy”不复制隐藏或系统文件。
/a
只复制那些具有存档文件属性设置的源文件。“/a”不修改源文件的存档文件属性。有关如何通过使用“attrib”来设置存档文件属性的信息,请参阅“相关主题”。
/m
复制具有存档文件属性设置的源文件。与“/a”不同,“/m”关闭在源中指定的文件的存档文件属性。有关如何通过使用“attrib”来设置存档文件属性的信息,请参阅“相关主题”。
/n
使用 NTFS 短文件或目录名创建副本。将文件或目录从 NTFS 卷复制到 FAT 卷或者当目标文件系统需要 FAT 文件系统命名约定(即 8.3 字符)时,需要“/n”。目标文件系统可以是 FAT 或 NTFS。
/o
复制文件所有权与随机访问控制列表 (DACL) 信息。
/x
复制文件审核设置和系统访问控制列表 (SACL) 信息(包含“/o”)。
/exclude:FileName1[+[ FileName2]][+[FileName3]]
指定包含字符串的文件列表。
/y
禁止提示确认要覆盖已存在的目标文件。
/-y
提示您确认要覆盖已存在的目标文件。
/z
在可重启模式中通过网络复制。
/?
在命令提示符显示帮助。