![在 Windows 上复制目录树](https://linux22.com/image/492055/%E5%9C%A8%20Windows%20%E4%B8%8A%E5%A4%8D%E5%88%B6%E7%9B%AE%E5%BD%95%E6%A0%91.png)
我需要在 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 [从] [到]如果您希望保留权限。