Robocopy(Robust File Copy)是 Windows 系统中强大的命令行文件复制工具,支持断点续传、多线程、过滤排除等高级功能。以下是详细使用指南及示例。
一、基本语法
robocopy <源路径> <目标路径> [文件或文件夹] [选项]
二、常用参数说明
1. 复制选项
参数 | 说明 |
---|---|
/E | 复制子目录(包括空目录) |
/MIR | 镜像模式(同步源和目标,删除多余文件) |
/ZB | 使用备份模式(绕过权限限制) + 断点续传 |
/MT[:n] | 多线程复制(默认 8 线程,n=1-128) |
/DCOPY:T | 保留目录时间戳 |
2. 文件选择
参数 | 说明 |
---|---|
/XF <文件名> | 排除指定文件(支持通配符* ) |
/XD <目录名> | 排除指定目录 |
/A-:<属性> | 排除特定属性的文件(如SH =系统+隐藏) |
3. 重试与日志
参数 | 说明 |
---|---|
/R:n | 失败重试次数(默认 1,000,000 次) |
/W:n | 重试等待时间(秒,默认 30 秒) |
/LOG:<文件> | 输出日志到文件(覆盖模式) |
/TEE | 同时在屏幕显示日志 |
4. 高级控制
参数 | 说明 |
---|---|
/L | 模拟运行(不实际执行) |
/NP | 不显示进度百分比 |
/V | 输出详细信息 |
三、典型场景示例
1. 基础复制:文件夹及子目录
robocopy C:\Data D:\Backup /E
-
作用: 将
C:\Data
所有内容(含子目录)复制到D:\Backup
2. 镜像同步(删除目标多余文件)
robocopy C:\Source D:\Target /MIR /MT:16
-
作用: 完全同步两个目录,删除目标中多余文件,使用 16 线程加速
3. 排除特定文件和目录
robocopy C:\Project D:\Backup /XF *.tmp *.bak /XD Temp Logs
-
作用: 复制时排除
.tmp
和.bak
文件,以及Temp
和Logs
目录
4. 断点续传与权限保留
robocopy \\Server\Share D:\LocalCopy /ZB /DCOPY:T /R:5 /W:10
-
作用: 从网络位置复制,保留目录时间戳,失败重试 5 次,每次等待 10 秒
5. 生成日志文件
robocopy C:\Docs D:\Backup /LOG:C:\Logs\copy.log /TEE
-
作用: 记录复制过程到
copy.log
,同时显示在命令行窗口
6. 多线程复制大量小文件
robocopy C:\Images D:\Backup /MT:32 /E /NP
-
作用: 使用 32 线程复制图片文件夹,不显示进度百分比
7. 仅复制最近 7 天内的文件
robocopy C:\Reports D:\Archive /MAXAGE:7
-
作用: 复制过去 7 天内修改过的报告文件
四、注意事项
-
谨慎使用
/MIR
:镜像模式会删除目标目录中多余的文件 -
测试命令:使用
/L
参数先模拟运行,确认无误后再执行 -
网络路径:使用 UNC 路径时需确保权限正确(如
\\Server\Share
) -
日志分析:通过日志文件检查失败项(
Failed
或EXTRA File
)
五、总结
Robocopy 凭借其稳定性与丰富的功能,是系统管理员进行文件迁移、备份同步的首选工具。通过合理组合参数,可应对从简单复制到复杂同步的各种场景。