Por que o Robocopy ignora os flags / copy?

5

Sinalizadores de cópia de Robocopy?

Recentemente, fiz uma resposta aqui link onde sugeri usar robocopy e seus /copy flags, mas por algum motivo ainda desconhecido, os sinalizadores /copy estão sendo ignorados.

Isso foi originalmente observado por dbenham, mas eu também confirmei que quando eu especifiquei o /copy:DA flag, robocopy apenas o ignorou e fez uma cópia completa em DAT .

Documentação de Robocopy

Script

@echo off
robocopy Tools Tolls /COPY:DA /S /IS
pause >nul

Saída

------------------------------------------------------------------------------
   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

Alguém pode saber por que o sinalizador /copy não funcionou?

    
por David Ruhmann 05.03.2013 / 00:09

2 respostas

3

Comportamento não documentado

Bem, parece que o comportamento não documentado é o seguinte:

Sempre que o sinalizador D for usado para /COPY , robocopy adicionará automaticamente o sinalizador T .

No entanto, isso não se aplica ao diretório /DCOPY flag. Pode ser especificado sem T e work.

Testado (nenhum arquivo é copiado sem D, apenas pastas)

/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

Nota: testado em Windows 7 64 bit e Windows 8 64 bit .

    
por 05.03.2013 / 01:41
2

Isso ocorre por design e também não é documentado.

De acordo com a documentação do Robocopy:

Note: If file Data is copied, then file Timestamps are also copied.

Esta é a partir da página 6 neste documento: XP010

Sobre o documento XP010 vinculado acima:

Com 10 anos de idade, a partir da data desta publicação, é a documentação mais recente oficial oficial da Microsoft disponível para o Robocopy . Está atualmente disponível como Robocopy.doc para a versão XP010 quando você baixa a versão atual de GRobocopy GUI do site da Microsoft. (Nota: GUI Robocopy inclui a versão XP026 de Robocopy.exe e a versão XP010 de Robocopy.doc ).

A partir da data desta postagem, nenhuma documentação ( oficial oficial da Microsoft disponível) está disponível para Robocopy versão XP026 ou XP027.

    
por 22.05.2013 / 13:01