为什么 Robocopy 忽略 /copy 标志?

为什么 Robocopy 忽略 /copy 标志?

Robocopy 复制标志?

我最近刚刚在这里回答了一个问题https://stackoverflow.com/a/15211788/891976我建议使用robocopy及其/copy标志,但由于某些尚不清楚的原因,这些/copy标志被忽略了。

这最初由 dbenham 指出,但我也确认,当我指定标志时/copy:DArobocopy只是忽略它并进行了完整DAT复制。

Robocopy 文档

脚本

@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标志用于时/COPYrobocopy都会自动添加该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 图形用户界面包含版本XP026Robocopy.exe和版本XP010Robocopy.doc)。

截至本文发布之日,尚无(印刷版或电子版/可下载版)完整官方 Microsoft适用于 Robocopy 版本 XP026 或 XP027 的文档。

相关内容