Robocopy 复制标志?
我最近刚刚在这里回答了一个问题https://stackoverflow.com/a/15211788/891976我建议使用robocopy
及其/copy
标志,但由于某些尚不清楚的原因,这些/copy
标志被忽略了。
这最初由 dbenham 指出,但我也确认,当我指定标志时/copy:DA
,robocopy
只是忽略它并进行了完整DAT
复制。
脚本
@echo off
robocopy Tools Tolls /COPY:DA /S /IS
pause >nul
输出
------------------------------------------------------------------------------
ROBOCOPY :: Robust File Copy for Windows
------------------------------------------------------------------------------
Started : Mon Mar 04 16:59:43 2013
Source : C:\Users\Username\Desktop\Tools\
Dest : C:\Users\Username\Desktop\Tolls\
Files : *.*
Options : *.* /S /COPY:DAT /IS /R:1000000 /W:30
------------------------------------------------------------------------------
New Dir 5 C:\Users\Username\Desktop\Tools\
100% New File 825 Connect.bat
100% New File 424 DevSpec.bat
100% New File 215 Disconnect.bat
100% New File 69599 Shortcuts.zip
100% New File 28.8 m Tools.zip
------------------------------------------------------------------------------
Total Copied Skipped Mismatch FAILED Extras
Dirs : 1 1 0 0 0 0
Files : 5 5 0 0 0 0
Bytes : 28.87 m 28.87 m 0 0 0 0
Times : 0:00:00 0:00:00 0:00:00 0:00:00
Speed : 150632582 Bytes/sec.
Speed : 8619.265 MegaBytes/min.
Ended : Mon Mar 04 16:59:43 2013
有谁知道为什么该/copy
标志不起作用吗?
答案1
未记录的行为
那么看起来未记录的行为如下:
每当该D
标志用于时/COPY
,robocopy
都会自动添加该T
标志。
但是,这不适用于目录/DCOPY
标志。它可以不指定T
也可以工作。
已测试(没有 D 则不会复制任何文件,仅复制文件夹)
/Copy:D becomes /Copy:DT
/Copy:A becomes /DCopy:DA /Copy:A
/Copy:T becomes /DCopy:D /Copy:T
/Copy:DT becomes /DCopy:D /Copy:DT
/Copy:AT becomes /DCopy:DA /Copy:AT
笔记:测试于Windows 7 64 位和Windows 8 64 位。
答案2
这是设计使然,并且也并非没有记录。
根据 Robocopy 文档:
Note:
If file Data is copied, then file Timestamps are also copied.
这是本文档第 6 页的内容:XP010
有关XP010上面链接的文档:
虽然已有 10 年历史,但截至本文发布之日,它是最新的完整官方 Microsoft文档可供Robocopy。目前可用作Robocopy.doc
为了XP010版本,当您下载当前版本时Robocopy 图形用户界面来自微软网站。(注:Robocopy 图形用户界面包含版本XP026的Robocopy.exe
和版本XP010的Robocopy.doc
)。
截至本文发布之日,尚无(印刷版或电子版/可下载版)完整官方 Microsoft适用于 Robocopy 版本 XP026 或 XP027 的文档。