Por que o XCOPY não copia minhas junções?

3

Estou tentando copiar um diretório de usuários com o XCOPY, mas partes dele não estão funcionando.

(Estou executando como administrador, em um prompt de comando que foi iniciado com Executar como administrador )

O diretório do usuário se parece com: (abreviado)

> dir /a /q
05/18/2014  05:42 PM    <DIR>          MyPC\JoeBob            AppData
05/18/2014  05:42 PM    <JUNCTION>     NT AUTHORITY\SYSTEM    Application Data [C:\Users\JoeBob\AppData\Roaming]
05/18/2014  05:42 PM    <DIR>          MyPC\JoeBob            Contacts
05/18/2014  05:42 PM    <JUNCTION>     NT AUTHORITY\SYSTEM    Cookies [C:\Users\JoeBob\AppData\Roaming\Microsoft\Windows\Cookies]
05/18/2014  05:42 PM    <JUNCTION>     NT AUTHORITY\SYSTEM    Local Settings [C:\Users\JoeBob\AppData\Local]
05/18/2014  05:42 PM    <DIR>          MyPC\JoeBob            Music
05/18/2014  05:42 PM    <JUNCTION>     NT AUTHORITY\SYSTEM    My Documents [C:\Users\JoeBob\Documents]
05/18/2014  05:42 PM    <JUNCTION>     NT AUTHORITY\SYSTEM    NetHood [C:\Users\JoeBob\AppData\Roaming\Microsoft\Windows\Network Shortcuts]
05/18/2014  09:31 PM           786,432 MyPC\JoeBob            NTUSER.DAT
05/18/2014  09:31 PM           262,144 NT AUTHORITY\SYSTEM    ntuser.dat.LOG1
05/18/2014  05:42 PM                 0 NT AUTHORITY\SYSTEM    ntuser.dat.LOG2
05/18/2014  09:31 PM            65,536 NT AUTHORITY\SYSTEM    NTUSER.DAT{016888bd-6c6f-11de-8d1d-001e0bcde3ec}.TM.blf
05/18/2014  09:31 PM           524,288 NT AUTHORITY\SYSTEM    NTUSER.DAT{016888bd-6c6f-11de-8d1d-001e0bcde3ec}.TMContainer00000000000000000001.regtrans-ms
05/18/2014  09:31 PM           524,288 NT AUTHORITY\SYSTEM    NTUSER.DAT{016888bd-6c6f-11de-8d1d-001e0bcde3ec}.TMContainer00000000000000000002.regtrans-ms

Observe que:

  • Alguns dos diretórios são realmente junções (aka. links simbólicos / pontos de nova análise)
  • As junções têm dono NT AUTHORITY\SYSTEM .

Quando eu executo o comando:

xcopy C:\Users\JoeBob\*.* E: /O/X/E/H/K/B

os vários switches devem fazer:

  • /O - Copiar informações de propriedade
  • /B - Copiar Symlink

Mas quando eu realmente faço a cópia e visualizo os resultados no destino E: , todos os Junctions se tornaram diretórios reais e têm o dono BUILTIN\Administrators

Parece que as opções /O e /B falharam.
Mas não consigo encontrar nenhuma menção de que esses switches não funcionem para junções de propriedade do SYSTEM.

Estou faltando alguma coisa? Existe uma boa correção ou solução para isso?

    
por abelenky 25.05.2014 / 16:40

1 resposta

8

Acho que você está misturando um directory Symbolic link com directory Junction .

Um diretório Junction é muito diferente de um link simbólico de diretório (Symlink). XCOPY faz copiar links simbólicos corretamente (com /B ), mas ele não pode manipular Junções de diretórios. (Veja uma explicação de todos esses tipos aqui )

Você pode copiar o diretório com o Robocopy e excluir o diretório Junções (com /XJ ), mas não terá essas junções no backup. Você pode usar o Google para isso: janelas copiam os pontos de junção .

Desta forma, encontrei este tópico com um possível solução de usar a ferramenta FastCopy que preservaria os pontos de junção.

    
por 07.06.2014 / 13:53