系统学习 Windows 学习路径:从 CMD 到 PowerShell、系统网络,再到 WSL 与 Server

xcopy

递归复制文件与目录树,适合旧脚本和简单目录镜像。

补充说明

xcopy 复制文件和目录,按 /s 或 /e 递归子目录,常用于旧批处理、部署脚本和把一棵目录树复制到另一块盘。它支持按日期更新(/d)、只复制已存在文件(/u)、保留只读属性(/k)、复制隐藏/系统文件(/h)以及复制 ACL(/o)和审核设置(/x)。

边界:xcopy 是较老的命令,缺少重试、校验日志、多线程和可靠的长路径支持;文件名路径超过 255 字符时可能出现“内存不足”错误(官方说明)。它不提供卷影复制,打开中的文件可能复制失败。大规模、需要日志和重试的同步应使用 robocopy;只需要单文件复制用 copy。

Windows 10/11 与 Server 2016+ 仍内置 xcopy;/b 从 Vista 起支持复制符号链接,/j 从 Server 2008 R2 起支持无缓冲复制。PowerShell 中 xcopy 仍是外部程序,可以直接调用,但目录复制更建议用 Copy-Item,参数和错误处理与 CMD 脚本不同。

常用示例

# 1. 完整复制目录树(含空目录和隐藏文件),目标不存在时按目录创建
C:\> xcopy C:\src D:\dst /E /I /H /Y

# 2. 只复制比目标新的文件,做增量更新
C:\> xcopy C:\src D:\dst /S /D /Y

# 3. 只建目录结构,不复制文件,用于预演目标布局
C:\> xcopy C:\src D:\dst /E /I /T

# 4. 排除缓存和临时文件,排除文件按路径子串匹配
C:\> xcopy C:\src D:\dst /E /I /EXCLUDE:C:\temp\exclude.txt /Y

# 5. 从网络共享复制,出错继续并保留 ACL
C:\> xcopy \\fileserver\share\data C:\backup\data /E /I /C /O /Y

# 6. 只列出将要复制的文件,不实际写入
C:\> xcopy C:\src D:\dst /E /I /L > C:\temp\xcopy-plan.txt

易错点与排错

相关命令

参考链接

读完自测

合上页面,先回答,再展开对照。

  1. /s 和 /e 复制子目录时差在哪里?
  2. 计划任务里 xcopy 停在“F = 文件还是 D = 目录”的提示上,缺了哪个参数?
  3. xcopy 退出码 1 代表失败吗?脚本应该怎样判断?
答案
  1. /s 排除空目录,/e 连空目录一起复制。
  2. 缺 /i,它让 xcopy 在目标不存在时按目录处理。
  3. 不代表失败,1 是“没有找到可复制文件”;应把 2、4、5 等视为错误。
微信小程序码:扫码打开命令速查小程序

小程序版

微信扫码,随时查命令