开始是想查找如何复制整个文件夹到其他目录下 后来看到一篇很有帮助的文章就转载了。
xcopy 命令
在cmd中输入: xcopy /? 查看帮助
C:\Users\Administrator>xcopy /?
复制文件和目录树。
XCOPY source [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] [/B] [/J]
[/EXCLUDE:file1[+file2][+file3]...]
source 指定要复制的文件。
destination 指定新文件的位置和/或名称。
/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。推荐复制大文件时使用。
开关 /Y 可以预先在 COPYCMD 环境变量中设置。
这可能被命令行上的 /-Y 覆盖。
C:\Users\Administrator>
认真读懂这些参数,即可写Copy命令了。
简单的:
xcopy source target
拷贝文件
将C盘的test.txt文件拷贝到D盘根目录。
xcopy C:\test.txt D:\
指定参数,强制覆盖
如果重复执行,因为文件已经存在,则会给出提示
我们加入强制执行参数:
xcopy C:\info.txt D:\ /Y
参数说明:
/Y 取消提示以确认要覆盖
现有目标文件。
/-Y 要提示以确认要覆盖
现有目标文件。
拷贝文件,只拷贝更新文件
每次都强制copy,如果源文件比目标目录的文件,日期新,才copy怎么办呢?
增加配置参数:D
xcopy C:\info.txt D:\ /Y/D
参数说明:
/D:m-d-y 复制在指定日期或指定日期以后更改的文件。
如果没有提供日期,只复制那些
源时间比目标时间新的文件。
拷贝目录
xcopy C:\test D:\test /D/Y
如果D:\test文件夹不存在,则会自动创建。
在C盘的test文件中创建文件和文件夹,即可进行Copy。
第一次执行会出现提示:是文件还是目录。
如何指定其为目录,无需客户判定呢?
解决办法:默认是目录:/I
xcopy C:\test D:\test2 /I/D/Y
参数说明:
/I 如果目标不存在,且要复制多个文件,
则假定目标必须是目录。
拷贝目录中包含子目录
根据上面的脚本,只能复制当前目录下的文件及目录
我们可以使用/S 或者/E
xcopy C:\test D:\test2 /E/I/D/Y
这样,其C:\test下的所有文件,包括子目录与空目录,以及子目录的子目录文件,也都成功拷贝到了目标目录。
/S与/E具体解释:
/S 复制目录和子目录,不包括空目录。
/E 复制目录和子目录,包括空目录。
与 /S /E 相同。可以用来修改 /T。
如果Copy只读文件
当文件Copy到目标目录,如果其是或者设置为只读文件,则无法覆盖。
这时我们用到了参数/R
xcopy C:\test D:\test /E/R/I/D/Y
参数说明:
/R 覆盖只读文件。