为什么 Robocopy 忽略 /copy 标志?

Dav*_*ann 5 windows command-line robocopy batch-file

Robocopy 复制标志?

我最近刚刚在这里回答了/sf/answers/1064825191/,我建议使用robocopy它及其/copy标志,但由于某些未知的原因,这些/copy标志被忽略。

这最初是由 dbenham 指出的,但我也确认,当我指定/copy:DA标志时,robocopy只是忽略了它并做了一个完整的DAT副本。

Robocopy 文档

脚本

@echo off
robocopy Tools Tolls /COPY:DA /S /IS
pause >nul
Run Code Online (Sandbox Code Playgroud)

输出

------------------------------------------------------------------------------
   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
Run Code Online (Sandbox Code Playgroud)

任何人都知道为什么/copy标志不起作用?

Dav*_*ann 3

无证行为

那么,未记录的行为似乎如下:

每当该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
Run Code Online (Sandbox Code Playgroud)

注意:在Windows 7 64 位Windows 8 64 位上测试。