在 Windows 上复制目录树

在 Windows 上复制目录树

我需要在 Windows 上使用 bat 文件复制完整目录树(又称递归复制)。在 *nix 系统上,我在复制命令中使用 -R 参数,如下所示:

cp -R fromDir toDir

就这样完成了。我在 windows 的“man pages”中找不到类似的东西复制命令。

谢谢!

答案1

XCOPY 上的 /s 选项将处理子目录(空白目录除外)。

答案2

Copy 不处理递归。请改用 robocopy。在 Windows 2008 上,它已经存在并位于路径中。在 Windows 2000 和 2003 上,它位于资源工具包中。您需要的标志是 /S /Z /ETA。

/S 递归 /Z 可重启节点 /ETA 告诉我当前文件需要多长时间(可选)

答案3

我会使用 Robocopy /E /COPYALL /MIR /ETA /LOG:FILE.log /TEE "SOURCE DIR" "DESTINATION DIR"

例如:robocopy.exe /E /COPYALL /MIR /ETA /LOG:C:\copy.log /TEE "C:\SourceDirectory\\" "C:\DestinationDirectory\\"

/E:复制子目录,包括空目录。/COPYALL
:将复制文件上的所有安全标志和时间戳。/MIR
:将制作源的精确副本。因此,如果您复制一次,然后第二次复制,它将处理删除文件和新文件。/ETA
:显示复制文件的预计到达时间。/Log
:创建日志文件
。/TEE:输出到控制台窗口以及日志文件。

如果您执行 /? ,robocopy 会有许多不同的选项以实现更高级的用法。

您也可以使用 GUI 版本: http://technet.microsoft.com/en-us/magazine/2006.11.utilityspotlight.aspx

答案4

我建议xcopy /mir [从] [到]如果您希望保留权限。

相关内容