Robocopy 不复制子目录中的文件

Robocopy 不复制子目录中的文件

无论什么原因,我在使用 robocopy 时遇到了问题。

我每天都会使用几个脚本,它们都利用了 copy、xcopy 和 robocopy,除了这个之外,它们目前都正常工作。我使用的标准开关与我在其他脚本中使用的相同。

robocopy "K:\Some Folder" "H:\Files\1" /e /w:0 /r:2 /MIR

任何直接位于的文件K:\Some Folder都会被复制。但任何位于的文件,说K:\Some Folder\Some Subfolder不是被复制。我查了一下,使用 /s 或 /e 也应该可以复制子目录中的所有文件。为什么不行?如果我暂停脚本,它会在某些地方显示“*Extra Files”——这可能与此有关。

之前我一直用这些开关,简化之后还是不行:

 /e /w:0 /r:2 /XO /NFL /NDL /NJH /NJS /nc /ns /np

答案1

/Srobocopy也有一个选项。(见SS64。) 也/E类似于/S,但另外强制复制空文件夹。

旗帜 行为
/S 复制年代子文件夹
/E 复制子文件夹,包括空子文件夹

据说,/MIR 暗示 /E

旗帜 行为
/MIR 和平号空间站ror 目录树——相当于/PURGE加上所有子文件夹(/E

......但我并未发现这在经验上是正确的。您应该明确包含/E/S选项。

答案2

我发现/b(备份模式)开关对我有用。尽管我似乎拥有适当的复制权限,但我robocopy似乎不同意。/b解决了该问题。

答案3

问题:任何直接位于的文件K:\Some Folder都会被复制。但位于的文件K:\Some Folder\Some Subfolder不会被复制。

解决办法是不是完全使用 robocopy,但使用复制

代替:

robocopy "K:\Some Folder" "H:\Files\1" /e /w:0 /r:2 /MIR

应该使用它来代替:

xcopy "K:\Some Folder" "H:\Files\1" /c /s /e /y

我不知道为什么机器人复制没有用,但是复制使用这些开关可以快速、高效地完成需要做的事情。

相关内容