Substituindo com robocopy

12

Estou usando o robocopy para copiar arquivos, mas ele simplesmente trava (acho que o motivo é que o arquivo já está presente no local). Existe uma opção usando a qual eu posso sobrescrever arquivos (se eles já estiverem no destino) ou simplesmente copiá-los se não estiverem lá?

gautam kumar
fonte
1
O que você quer dizer com trava? Você vê algum erro ou algo assim? Olhar PS por opção / mir ...
Chris Moutray
Não dá nenhum erro. Não consigo usar a opção / mir, pois excluiria os arquivos já presentes na pasta de destino. Sugira outras opções.
Gautam Kumar
Tente where robocopyencontrar o executável do robocopy e verifique se o que você está usando corresponde ao sistema operacional. IIRC, a versão mais antiga do robocopy que costumava ser distribuída com o kit de recursos não é totalmente compatível com sistemas operacionais posteriores e pode estar se manifestando como um travamento.
Harry Johnston
Você pode executá-lo com a opção / V para mostrar detalhes do que ele faz.
M-Razavi

Respostas:

20

Tente o /isque é "incluir os mesmos arquivos". No meu caso, a robocópia não substituirá um arquivo, mas com essa opção, ela será substituída.

Chinoka
fonte
6

O Robocopy poderá sobrescrever arquivos, a menos que você o solicite (usando uma das /X*opções). Um arquivo bloqueado pode travá-lo, mas, na verdade, o Robocopy tentará novamente, com os padrões, o que significa que pode levar muito tempo para tentar um arquivo novamente. Você pode alterar as opções de nova tentativa para que ele tente novamente apenas algumas vezes e talvez não espere muito tempo entre as tentativas.

De robocopy.exe /?:

::
:: Retry Options :
::
/R:n :: number of Retries on failed copies: default 1 million.
/W:n :: Wait time between retries: default is 30 seconds.

/REG :: Save /R:n and /W:n in the Registry as default settings.

/TBD :: wait for sharenames To Be Defined (retry error 67).

Além disso, é possível que você esteja copiando recursivamente dados através de pontos de junção . Eu sempre uso a /XJopção nas operações de Robocopy para evitar isso.

Perguntas como advogado do diabo:

  1. Qual linha de comando você está usando e você pode nos fornecer a saída do console?
  2. Tem certeza de que os arquivos em que ele está pendurado não são muito grandes?
  3. Tem certeza de que os arquivos não estão bloqueados?
  4. Você está executando este interativo na área de trabalho? Poderia ser relacionado a permissões?
Neil Barnwell
fonte
Olá Neil, Obrigado pela sua resposta. Portanto, você quer dizer que, por padrão, a robocopy substituirá o arquivo se ele já estiver na pasta de destino.
Gautam Kumar
Certamente deveria, sim.
Neil Barnwell
Você pode me dizer qual será o código de saída nesse caso?
Gautam Kumar
1
Certamente, embora eu não tenho certeza de como ele ajuda você: ss64.com/nt/robocopy-exit.html
Neil Barnwell