在 Windows CMD 中复制文件有三个核心命令,它们各有适用场景,下面详细讲解每个命令的语法、常用参数和实战示例。功能从基础到高级依次为:
copy(基础文件复制) → xcopy(增强目录复制) → robocopy(专业级复制)。
copy是 CMD 最早的复制命令,仅支持复制文件,不支持复制文件夹和子目录,适合简单的单文件或同目录多文件复制。
copy [选项] 源文件路径 目标文件路径
/Y 覆盖目标文件时不提示确认(脚本中必用)
/-Y 覆盖目标文件时强制提示确认
/V 复制完成后验证文件完整性
/A 复制 ASCII 文本文件
/B 复制二进制文件(图片、exe、视频等,默认模式)
1.复制单个文件到指定目录
copy C:\test\file.txt D:\backup\
2.复制文件并重命名
copy C:\test\file.txt D:\backup\new_file.txt
3.复制所有 txt 文件到目标目录
copy C:\test\*.txt D:\backup\
4.静默覆盖并验证复制
copy /Y /V C:\test\*.exe D:\tools\
xcopy是copy的升级版本,支持复制文件夹、子目录和文件属性,是日常使用最广泛的复制命令。
xcopy [选项] 源路径 目标路径
/S 复制所有非空的子目录
/E 复制所有子目录(包括空目录),最常用
/H 复制隐藏文件和系统文件(默认不复制)
/R 覆盖只读文件
/Y 覆盖时不提示确认
/D 仅复制源中比目标新的文件(增量复制)
/C 即使遇到错误也继续复制
/I 如果目标不存在且复制多个文件,自动创建目标目录
1.完整复制一个文件夹(包括所有子目录和空目录)
xcopy /E /I C:\test D:\backup\test
2.增量复制(只复制更新过的文件)
xcopy /E /D /Y C:\test D:\backup\test
3.复制包括隐藏和系统文件在内的所有内容
xcopy /E /H /R /Y C:\test D:\backup\test
4.复制特定类型文件到多级目录
xcopy /E /Y C:\test\*.jpg D:\photos\2024\
robocopy(Robust File Copy)是 Windows Vista 及以上系统自带的高级复制工具,功能最强大,支持断点续传、多线程复制、镜像同步、权限保留等,适合大文件、大量文件和网络复制场景。
robocopy 源目录 目标目录 [文件] [选项]
/E 复制所有子目录(包括空目录)
/MIR 镜像复制(目标目录与源目录完全一致,会删除目标中源没有的文件)
/Z 支持断点续传(网络复制必用)
/MT:N 启用多线程复制,N 为线程数(1-128,默认 8),大文件复制提速明显
/R:N 复制失败时重试 N 次(默认 100 万次)
/W:N 重试间隔 N 秒(默认 30 秒)
/COPYALL 复制所有文件信息(时间戳、属性、权限、所有者等)
/NFL 不显示复制的文件名
/NDL 显示复制的目录名
/NP 不显示复制进度
1.快速复制大文件夹(多线程 + 断点续传)
robocopy C:\test D:\backup\test /E /Z /MT:32 /R:3 /W:5
2.完全镜像同步两个目录(目标会被完全覆盖成源的样子)
robocopy C:\test D:\backup\test /MIR /Z /MT:16
警告:/MIR参数会删除目标目录中源目录不存在的所有文件和文件夹,使用前务必确认目标路径!
3.复制文件并保留所有权限和属性
robocopy C:\test D:\backup\test /E /COPYALL /R:5 /W:10
4.仅复制最近 7 天修改过的文件
robocopy C:\test D:\backup\test /E /MAXAGE:7 /Z
5.网络共享复制(最适合的场景)
robocopy C:\local \\server\share\remote /E /Z /MT:8 /R:10 /W:30
简单单文件复制:用copy
日常文件夹备份:用xcopy /E /Y
大文件 / 大量文件复制:用robocopy /E /Z /MT
网络共享复制:必须用robocopy /Z
目录完全同步:用robocopy /MIR(谨慎使用)
路径包含空格:必须用双引号括起来
copy "C:\My Documents\file.txt" "D:\My Backup\"
管理员权限:复制系统目录、受保护文件或修改系统权限时,必须以管理员身份运行 CMD。
通配符使用:三个命令都支持*(匹配任意字符)和?(匹配单个字符)。
目标路径结尾加反斜杠“\”:可以明确表示目标是目录,避免歧义。
robocopy退出代码:0 表示无错误,1 表示复制成功,2 表示有文件被覆盖,8 表示有错误。
网友评论