如何避免Robocopy覆盖目标文件夹中的同名文件
如何避免Robocopy覆盖目标文件夹中的同名文件
嘿,这个问题我之前折腾Robocopy的时候也碰到过!其实它是有专门的参数组合来实现这个需求的,只是手册里参数太多,很容易看漏~
如果你想要的是只要目标文件夹里已经存在同名文件,不管源文件是新是旧、有没有改动,都绝对不覆盖,可以用这三个参数的组合:/XC、/XN、/XO,配合基础的复制参数一起使用。
给你举个实际的命令例子:
robocopy "C:\你的源文件夹路径" "C:\你的目标文件夹路径" /E /XC /XN /XO
我给你拆解下这几个关键参数的作用:
/E:复制源文件夹下的所有子目录,包括空的子目录(如果不需要空目录,可以换成/S)/XC:跳过那些目标已存在、且和源文件内容/属性有差异的文件,不会覆盖/XN:就算源文件比目标文件新,也跳过不复制(毕竟我们的核心是“目标有就不碰”)/XO:如果源文件比目标文件旧,同样跳过不复制
要是你不确定这个命令会不会符合预期,可以先加个/L参数做预览测试,它只会列出要复制的文件,不会实际执行操作:
robocopy "C:\你的源文件夹路径" "C:\你的目标文件夹路径" /E /XC /XN /XO /L
这样你就能先确认哪些文件会被复制,完全不用担心误覆盖已有的文件啦~
备注:内容来源于stack exchange,提问作者maxical




