我需要在 Windows 上使用 bat 文件复制完整的目录树(又名递归副本)。在 *nix 系统上,我在 copy 命令上使用 -R 参数,如下所示:
cp -R fromDir toDir
这样就完成了。我在复制命令的 Windows“手册页”中找不到类似的东西。
谢谢!
我需要在 Windows 上使用 bat 文件复制完整的目录树(又名递归副本)。在 *nix 系统上,我在 copy 命令上使用 -R 参数,如下所示:
cp -R fromDir toDir
这样就完成了。我在复制命令的 Windows“手册页”中找不到类似的东西。
谢谢!
复制不处理递归。请改用 robocopy。在 Windows 2008 上,它已经存在并且在路径中。在 Windows 2000 和 2003 上,它位于资源工具包中。您需要的标志是 /S /Z /ETA。
/S recursion /Z 可重启节点 /ETA 告诉我当前文件需要多长时间(可选)
XCOPY 上的 /s 选项将处理子目录(空白目录除外)。
我会使用 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
尝试使用xcopy而不是 copy。
如果您希望保留权限,我建议xcopy /mir [from] [to] 。
utx项目中的cpx.exe支持递归复制和递归通配符,以便简单而强大地选择要复制的文件。