Digamos que temos uma pasta SOURCEDIR
a ser sincronizada com TARGETDIR
. O problema: se TARGETDIR
contiver links simbólicos de diretório, ROBOCOPY /MIR
(ou /PURGE
) seguirá o symlink e excluirá todos os arquivos e diretórios para os quais ele aponta.
A opção /XJ
não funciona para TARGETDIR
. Também não há diferença no uso de links simbólicos de diretório ou junções; ambos são seguidos e excluídos. Este parece ser um bug sério, especialmente se dissermos /XJ
. Assim que o diretório de destino contiver links simbólicos, a operação de cópia pode "escapar" dos limites do diretório, e mais arquivos e pastas do que o pretendido vão além do limite.
Alguma dica?
P.S .: Por exemplo, ROBOCOPY
sync'd parte de TARGETDIR
, tropeçou em um symlink, excluiu partes de TARGETDIR
novamente e continuou como se nada tivesse acontecido. Finalmente você tem um TARGETDIR
danificado - provavelmente sem perceber. Não há nada que você possa fazer contra isso. Mas links simbólicos são uma parte normal do sistema de arquivos. IMHO deve haver uma opção para remover mas não seguir links simbólicos (como XCOPY
's /B
).