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

copy

复制单个或多个文件,支持覆盖控制、校验与二进制拼接。

补充说明

copy 把一个或多个文件复制到目标位置,常用于临时复制一个文件、把多个文本片段拼成一个文件,或在交互式 CMD 里快速覆盖一份配置。/y 关闭覆盖提示,/v 校验写入,/z 支持网络复制断点续传,/b 按二进制复制。

边界:copy 不递归目录,也不复制目录树;需要整棵目录用 xcopy /e 或 robocopy /e。它不复制 ACL、所有者等安全信息,创建时间等元数据也不完整,关键备份应使用 robocopy /copyall。目标目录不存在时,它可能把目标名当成文件名在当前目录或根目录创建,执行前先用 dir 确认目标存在。

Windows 10/11 与 Server 2016+ 的 copy 行为一致。CMD 的 copy 是内部命令;PowerShell 中 copy 是 Copy-Item 的别名,/y 会被当成参数错误,覆盖行为由 -Force 等参数控制,语法不能直接照搬。

常用示例

# 1. 把一个文件复制到已存在的备份目录
C:\> copy report.docx D:\backup\

# 2. 无人值守覆盖一批 CSV,避免弹提示
C:\> copy /Y *.csv D:\export\

# 3. 显式按二进制复制,避免脚本里出现模式歧义
C:\> copy /B image.iso D:\vm\image.iso

# 4. 关键数据复制时校验写入的每个扇区
C:\> copy /V D:\backup\report.docx E:\verify\

# 5. 按二进制顺序拼接分片
C:\> copy /B part1.bin+part2.bin+part3.bin all.bin

# 6. 源和目标都含空格,分别加引号
C:\> copy "C:\a\my file.txt" "C:\b\new name.txt"

# 7. 从网络共享复制大文件,断线后可续传
C:\> copy /Z \\fileserver\share\big.iso C:\local\big.iso

易错点与排错

相关命令

参考链接

读完自测

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

  1. copy 能复制整棵目录树吗?应该用什么替代?
  2. 目标目录不存在时,copy a.txt C:\newdir 可能产生什么结果?
  3. 拼接多个文件时为什么必须加 /b?单文件复制也这样吗?
答案
  1. 不能,copy 只复制文件;用 xcopy /e /i 或 robocopy /e。
  2. 可能把 newdir 当成文件名,在 C:\ 下创建一个名为 newdir 的文件。
  3. 拼接时默认按 ASCII 处理,遇到 Ctrl+Z 会提前结束;/b 按文件大小复制全部字节。单文件复制 /b 本来就是默认。
微信小程序码:扫码打开命令速查小程序

小程序版

微信扫码,随时查命令