xcopy 是 copy 命令的增强版,意为“Extended Copy”(扩展复制),它功能强大,尤其适合复制目录、大量文件以及需要保留文件结构等复杂场景。

基本语法
xcopy [源路径] [目标路径] [/选项]
- 源路径:要复制的文件或目录的路径,如果源路径是目录,
xcopy会默认复制该目录下的所有文件和子目录。 - 目标路径:文件或文件副本将要放置的位置,如果目标路径不存在,
xcopy会询问你是否要创建它。 - /选项:控制
xcopy行为的开关参数,例如是否包含子目录、是否覆盖等。
常用选项(参数)
xcopy 的强大之处在于其丰富的选项,以下是一些最常用和最重要的选项:
| 选项 | 全称 | 说明 | 示例 |
|---|---|---|---|
/E |
Directories | 复制所有子目录,包括空目录,必须与 /S 或 /I 一起使用。 |
xcopy C:\源文件夹 D:\目标 /E /I |
/I |
If Destination | 如果源路径是一个目录,并且目标路径不存在,xcopy 会假定目标路径是目录,并自动创建它,而不会提示。 |
xcopy C:\项目 D:\备份 /I |
/S |
Subdirectories | 复制目录及其下的所有子目录(非空目录)。不复制空目录。 | xcopy C:\文档 D:\备份 /S |
/H |
Hidden | 复制隐藏文件和系统文件,默认情况下,xcopy 不复制这些文件。 |
xcopy C:\系统 D:\备份 /H /S |
/C |
Continue | 即使复制过程中出现错误(如文件被占用),也继续执行后续文件,默认情况下,遇到错误会停止。 | xcopy C:\大文件 D:\移动 /C |
/Y |
Yes | 在覆盖目标文件时,不提示确认,直接覆盖。 | xcopy C:\新文件 D:\旧文件 /Y |
/-Y |
No Yes | 在覆盖目标文件时,总是提示确认。 | |
/Q |
Quiet | 关闭屏幕显示(静默模式),只显示文件在复制完成后。 | |
/F |
Full Pathnames | 复制时,完整显示源文件和目标文件的路径名。 | |
/D |
Date | 仅复制在指定日期或之后更改的文件。 | xcopy C:\源 D:\目标 /D:2025-01-01 |
/EXCLUDE:文件 |
Exclude | 排除特定文件,你需要创建一个文本文件,每行写一个要排除的字符串,如果文件路径或文件名包含该字符串,则会被排除。 | xcopy C:\源 D:\目标 /EXCLUDE:exclude.txt |
/T |
Tree | 仅复制目录结构(即创建目录树),不复制任何文件,必须与 /E 一起使用才能复制空目录。 |
xcopy C:\项目 D:\项目模板 /T /E |
常见使用场景示例
场景1:完整备份一个文件夹(包括所有子文件夹和空文件夹)
这是最常见的用法,相当于“深度复制”。
xcopy C:\我的项目 D:\项目备份 /E /I /H
/E:确保所有子目录,包括空目录都被复制。/I:因为D:\项目备份可能不存在,/I会自动将其作为目录创建,避免提示。/H:同时复制隐藏和系统文件,确保备份完整性。
场景2:同步两个文件夹,只复制新的或修改过的文件
假设你每天工作,想把 D:\工作 的新文件或修改过的文件同步到 U盘 的 Work 文件夹中。
xcopy D:\工作 E:\Work /D /E /I /Y
/D:这是关键!它只复制目标盘上比源盘更新或源盘上有而目标盘上没有的文件。/D后面不跟日期,表示“自上次复制以来有更改的文件”。/E /I:保持目录结构。/Y:自动覆盖同名文件,避免每次都按Y确认。
场景3:排除特定文件或文件夹
假设你想复制整个项目,但不想复制 bin 和 obj 这两个编译输出文件夹。

方法1:使用通配符(简单情况)
xcopy C:\我的项目 D:\项目备份 /S /I /EXCLUDE:bin;obj
这个命令会排除路径中包含 bin 或 obj 的所有文件和文件夹。
方法2:使用排除文件(更灵活)
- 创建一个名为
exclude.txt的文本文件。 - 在文件中写入要排除的关键词,每行一个:
bin obj *.tmp .git - 在命令中使用它:
xcopy C:\我的项目 D:\项目备份 /S /I /EXCLUDE:exclude.txt
这样,所有路径中包含
bin、obj、.git的文件/文件夹,以及所有.tmp后缀的文件都会被排除。
(图片来源网络,侵删)
场景4:快速复制大量文件并忽略错误
如果复制网络驱动器上的文件,可能会因为临时断网而失败,使用 /C 可以让它跳过错误文件,继续复制其他文件。
xcopy \\服务器\共享文件夹 D:\本地备份 /C /E /I
与 copy 和 robocopy 的对比
| 命令 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
copy |
系统内置,最简单,单个文件复制。 | 功能极弱,不能处理目录,不能批量操作。 | 快速复制一两个文件。 |
xcopy |
功能强大,支持目录、子目录、过滤、日期比较等。 | 功能比 robocopy 少,对于大型、跨网络的同步任务不够健壮。 |
日常的、本地的、中小规模的文件和目录复制任务。 |
robocopy |
(Robust File Copy) 功能最强大、最稳定、最可靠,支持重试、镜像、多线程、日志记录等。 | 语法稍复杂,是 Windows 资源工具包的一部分(现代 Windows 已内置)。 | 大规模文件复制、服务器间同步、数据迁移、需要高可靠性的任务。 |
- 复制单个文件:用
copy。 - 复制文件夹和大量文件(日常使用):用
xcopy。 - 企业级、大规模、高可靠性的文件同步/备份:用
robocopy。
希望这份详细的解释能帮助你完全掌握 xcopy 命令!
