日常如果需要频繁批量复制文件或文件夹到另一目录,比如编程时的项目部署,手工太麻烦,可以使用批处理来操作,例如想把E盘中的 test1 文件夹中的内容复制到 test2 文件夹下,其中 test1 中的目录如下:
即 test1 下有一个 9B 的文件 123.txt,和一个名为 cc 文件夹,cc 的目录如下:
即 cc 下有一个大小为 936B 文件 456.txt,test2 文件夹下现在没有任何文件。
现在开始写批处理文件 batchhandle.bat,内容如下:
@echo off
::被复制的源文件夹
set sourceDir=E:\test1
::目标文件夹
set tarDir=E:\test2
::复制并覆盖文件及文件夹
xcopy %sourceDir% %tarDir% /s/y
然后双击批处理文件 batchhandle.bat,就成功将 test1 中的内容复核到 test2 中了:
至于 xcopy 命令最后的参数 /s/y 的含意可参考扩展资料:
输入XCOPY /?可以查看命令XCOPY的所有参数。
/A 仅复制有存档属性集的文件,但不更改属性。
/M 仅复制有存档属性集的文件,并关闭存档属性。
/D:m-d-y 复制在指定日期或指定日期以后更改的文件。如果没有提供日期,只复制那些源时间 比目标时间新的文件。
/EXCLUDE:file1[+file2][+file3]... 指定含有字符串的文件列表。每一个字符串必须在文件的单独行中。如果有任何字符串与要被复制的文件的绝对路径相符,那个文件将不会得到复制。例如,指定如 \obj\ 或 .obj 的字符串会排除目录 obj 下面的所有文件或带有.obj 扩展名的文件。
/P 创建每个目标文件之前提示您。
/S 复制目录和子目录,不包括空目录。
/E 复制目录和子目录,包括空目录。与 /S /E 相同。可以用来修改 /T。
/V 验证每个新文件的大小。
/W 提示您在复制前按键。
/C 即使有错误,也继续复制。
/I 如果目标不存在,且要复制多个文件,则假定目标必须是目录。
/Q 复制时不显示文件名。
/F 复制时显示完整的源文件名和目标文件名。
/L 显示要复制的文件。
/G 允许将加密文件复制到不支持加密的目标。
/H 也复制隐藏文件和系统文件。
/R 覆盖只读文件。
/T 创建目录结构,但不复制文件。不包括空目录或子目录。/T /E 包括空目录和子目录。
/U 只复制已经存在于目标中的文件。
/K 复制属性。一般的 Xcopy 会重设只读属性。
/N 用生成的短名称复制。
/O 复制文件所有权和 ACL 信息。
/X 复制文件审核设置(隐含 /O)。
/Y 取消提示以确认要覆盖现有目标文件。
/-Y 要提示以确认要覆盖现有目标文件。
/Z 在可重新启动模式下复制网络文件。
/B 复制符号链接本身与链接目标相对。
/J 复制时不使用缓冲的 I/O。推荐复制大文件时使用。