你可以在 Windows 10/11 中,用 Robocopy 把一个本地文件夹定期复制到另一块硬盘,再让 Windows 任务计划程序 按每天或每周的时间启动它。开始前,准备好源文件夹、目标文件夹和一个保存日志的位置。整个流程先手动跑通,再设置定时执行,最后通过目标文件、运行结果和日志确认是否成功。
先确定复制范围,避免把“备份”变成误删
这里把两个工具的分工固定下来:
Robocopy:负责复制文件、处理子文件夹并记录日志。任务计划程序:只负责在指定时间启动Robocopy。
本文采用保留目标端多余文件的复制方式,不使用会清理目标文件的 /MIR,也不使用会删除源文件的 /MOVE。不过,源文件更新后,后续复制仍可能覆盖目标中的同名文件,因此这不是保留多个历史版本的备份。
以下用这组路径演示,你需要换成自己的实际位置:
| 用途 | 示例路径 |
|---|---|
| 源文件夹 | D:工作资料 |
| 目标文件夹 | E:本地备份工作资料 |
| 日志文件夹 | D:备份日志 |
| 日志文件 | D:备份日志工作资料.log |
操作前先确认:
- 源文件夹确实存在,里面是你想备份的文件。
- 目标盘已连接,剩余空间足够,目标文件夹最好专门用于这项备份。
- 源目录和目标目录不能相同,也不要互相嵌套。
- 日志目录放在源目录之外,避免把持续变化的日志也复制进去。
- 当前账户能读取源文件,并能在目标目录和日志目录中创建文件。
同一块物理硬盘上的不同目录,只能提供额外副本,不能防范整块硬盘故障。 如果有另一块硬盘,优先把目标放在那里。第一次测试也可以先用少量、不重要的文件。
先在命令提示符中手动跑通
1. 创建目标目录和日志目录
在文件资源管理器中,创建:
E:本地备份工作资料
D:备份日志
Robocopy 可以创建目标目录,但日志所在的父目录应先准备好,否则可能在打开日志时就报错。
2. 打开命令提示符
按 Win + R,输入:
cmd
按回车。初次测试使用普通权限即可,不必一开始就以管理员身份运行。
3. 执行复制命令
把下面这条命令中的路径替换成你的实际路径,再粘贴执行:
robocopy "D:工作资料" "E:本地备份工作资料" /E /R:2 /W:5 /LOG+:"D:备份日志工作资料.log" /TEE
各部分的含义如下:
| 内容 | 作用 |
|---|---|
| 第一个路径 | 源目录,即从哪里复制 |
| 第二个路径 | 目标目录,即复制到哪里 |
/E |
复制子目录,包括空目录 |
/R:2 |
复制失败后最多重试 2 次 |
/W:5 |
两次重试之间等待 5 秒 |
/LOG+:"日志路径" |
把运行记录追加到指定日志 |
/TEE |
在写入日志的同时,也在命令窗口显示输出 |
源路径和目标路径的顺序不能写反。无论路径有没有空格,都给完整路径加上英文双引号,可以减少修改路径时出错的机会。
这条命令不会因为源目录删除了某个文件,就同步删除目标中的对应文件;但它也不是“只新增、永不覆盖”的归档命令。
4. 查看返回码
等待命令结束、窗口重新出现输入提示符后,立即执行:
echo %ERRORLEVEL%
Robocopy 的返回码与很多程序不同,不能只把 当成成功:
:没有需要复制的文件,也没有报告复制失败。1:有文件成功复制。2~7:可能涉及目标端多余文件、文件不匹配或这些情况的组合;不代表发生了复制失败,但仍应结合日志检查。8及以上:至少发生了一项复制失败,需要排查。
第一次运行返回 1 很常见;文件没有变化时再次运行,返回 也正常。
5. 核对文件和日志
打开目标文件夹,确认文件直接出现在:
E:本地备份工作资料
而不是误放到了另一个重复嵌套的目录中。
再打开日志文件,查看最后一次运行的结束时间和末尾汇总,重点确认失败项,并抽查几个目标文件能否正常打开。由于使用了 /LOG+,旧记录会保留,不要把上一次的结果当成本次结果。
建议再做一次小测试:在源目录新建一个测试文件,重新运行同一条命令,确认目标目录出现这个文件。做到这一步,才算手动复制流程跑通。
创建每天或每周执行的基本任务
1. 打开任务计划程序
按 Win + R,输入:
taskschd.msc
按回车后,进入 任务计划程序。
2. 创建基本任务
在右侧选择 创建基本任务,名称可以填写:
工作资料定时备份
描述中可记录源目录、目标目录和日志位置,方便以后维护。
3. 设置触发时间
在触发器页面选择:
每天:适合经常变化的工作资料。每周:适合变化较少的文件夹。
随后设置开始日期和时间。尽量选择电脑通常开机、目标硬盘也已连接的时段。基本任务同样可以周期执行,并不只限于运行一次。
4. 选择启动程序
在操作页面选择 启动程序。
5. 分别填写程序和参数
程序或脚本填写:
C:WindowsSystem32robocopy.exe
这是 Windows 安装在 C:Windows 时的常见位置;如果你的系统安装目录不同,请使用实际位置,也可以通过 浏览 选择文件。
添加参数(可选)填写:
"D:工作资料" "E:本地备份工作资料" /E /R:2 /W:5 /LOG+:"D:备份日志工作资料.log" /TEE
起始于(可选)留空即可,因为这里使用的都是绝对路径。
不要把整条命令全部塞进“程序或脚本”中。 程序栏只填写可执行文件,源目录、目标目录和各种开关放进参数栏;参数栏也不需要再次填写 robocopy。
6. 检查后保存
在完成页面核对触发时间和启动操作,然后保存任务。
初次验证时,先保持使用当前账户、默认权限的简单配置。不要为了“更保险”就直接勾选 使用最高权限运行;普通个人文件的复制通常不需要提升权限。
在任务计划程序里再手动运行一次
命令行成功,只能说明命令本身可用。你还需要确认计划任务没有填错。
1. 立即运行任务
进入 任务计划程序库,找到刚创建的任务,右键选择 运行。
如果弹出命令窗口,不要提前关闭,等待复制完成。
2. 查看上次运行结果
运行结束后刷新任务列表,查看 上次运行时间 和 上次运行结果。
直接启动 robocopy.exe 时,这里可能显示它的返回码,例如:
| 显示结果 | 判断方式 |
|---|---|
0x0 |
通常表示没有需要复制的文件,且没有报告复制失败 |
0x1 |
通常表示已成功复制文件,不要仅因它不是零就认定失败 |
0x2~0x7 |
结合本次日志检查多余文件、不匹配等情况 |
0x8 及更大的 Robocopy 返回码 |
有复制失败,需要查看日志 |
上述判断只适用于 Robocopy 已启动并返回的退出码。如果显示“找不到指定文件”“拒绝访问”等启动错误,或任务仍处于运行状态,就不能套用这个表。
3. 核对本次日志
确认日志出现了本次运行的新记录,目标目录也有预期变化。
如果任务列表有运行时间,但日志完全没有更新,应先检查程序是否启动成功、参数是否正确,以及日志目录是否可写,而不是仅凭运行时间认定备份成功。
4. 等待一次真正的定时触发
让电脑在设定时间保持开机、登录,并连接目标盘。触发后再次核对运行时间、日志和目标文件。
完成这次验证,才说明“手动执行”和“定时触发”两条路径都能工作。
失败时,按这个顺序回退检查
最省事的备份任务排查方式,是先区分问题发生在哪一层:
- 命令行也失败:先查路径、磁盘、权限和文件占用。
- 命令行成功,任务手动运行失败:重点查任务中的程序路径、参数和运行账户。
- 任务手动运行成功,到点没有运行:重点查触发器、登录状态、电源条件和任务是否被禁用。
路径含空格或提示找不到文件
确认源目录、目标目录和日志文件路径分别用英文双引号包住,不要使用中文弯引号。
目录路径末尾通常不必加反斜杠,例如:
"D:工作资料"
同时检查盘符是否改变,以及是否误把参数写进了程序栏。
提示拒绝访问或文件被占用
先用任务所使用的账户,在目标目录手动创建一个测试文件,确认写入权限。
如果只有个别文件失败,检查它是否被其他程序独占。关闭相关程序后重试,不要直接改成管理员运行来掩盖原因。Robocopy 不是为正在使用的文件创建一致性快照的工具,重要文档最好保存并关闭后再复制。
目标硬盘未连接
连接硬盘后,在文件资源管理器中确认盘符与任务参数一致,再右键任务选择 运行。
不要默认任务一定会在硬盘插回后自行补跑。日志放在本地磁盘上的好处是:即使目标盘缺失,也更方便查看本次失败记录。
到了时间却没有执行
先检查电脑是否关机或休眠。基本任务不能在关机状态下执行。
然后打开任务 属性,查看:
常规:如果选择只在用户登录时运行,需要该账户处于登录状态。条件:检查是否限制为仅使用交流电源时启动,笔记本尤其要注意。设置:可按需要启用错过计划时间后尽快启动任务的选项,但仍需实际测试。
如果以后需要在未登录时运行,再调整为 不管用户是否登录都要运行,并按提示完成账户验证。修改后必须重新测试,不要假定它与交互式登录时的行为完全相同。
停用、删除,以及后续调整
暂时不想自动备份时,在 任务计划程序库 中右键任务,选择 禁用;需要恢复时再选择 启用。
确定不再使用时,右键选择 删除。删除任务只会移除计划配置,不会删除源文件、目标副本或日志。如果任务当时正在运行,应先按需要选择 结束,再停用或删除。
后续可以逐项调整频率、运行时间和目标位置,每次只改一项,然后重新手动运行、查看日志。使用 /LOG+ 会让日志持续增长,可定期在任务未运行时归档或清理旧日志。
这套定时备份文件夹流程的重点,不是把任务创建出来就结束,而是始终能回答三个问题:这次是否启动、哪些文件复制成功、失败原因在哪里。 保留一条已经手动验证过的命令,并定期抽查目标文件,比单看任务名称更可靠。
















































/E参数记得加引号不然容易翻车