Robocopy 不复制子目录中的文件

Int*_*ked 8 robocopy batch-file

无论出于何种原因,我都遇到了 robocopy 问题。

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

robocopy "K:\Some Folder" "H:\Files\1" /e /w:0 /r:2 /MIR
Run Code Online (Sandbox Code Playgroud)

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

以前我是用这些开关的,但是简化后还是不行:

 /e /w:0 /r:2 /XO /NFL /NDL /NJH /NJS /nc /ns /np
Run Code Online (Sandbox Code Playgroud)

Int*_*ked -1

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

解决方案是根本不使用 robocopy ,而是使用xcopy

代替:

robocopy "K:\Some Folder" "H:\Files\1" /e /w:0 /r:2 /MIR
Run Code Online (Sandbox Code Playgroud)

应该使用这个来代替:

xcopy "K:\Some Folder" "H:\Files\1" /c /s /e /y
Run Code Online (Sandbox Code Playgroud)

我不知道为什么robocopy不起作用,但是带有这些开关的xcopy可以快速高效地完成需要完成的工作。

  • “Xcopy 在 Vista 和 Windows 2008 中已被弃用,这意味着虽然现在仍然可用,但它可能会在未来的操作系统版本中消失。为了确保您的脚本‘面向未来’,请使用其他工具(例如 Robocopy)而不是 xcopy。”到 https://ss64.com/nt/xcopy.html (3认同)