Écrasement avec robocopy


12

J'utilise robocopy pour copier des fichiers, mais il se bloque simplement (je suppose que la raison est que le fichier est déjà présent à l'emplacement). Existe-t-il une option permettant de remplacer les fichiers (s'ils sont déjà dans la destination) ou simplement de les copier s'ils ne s'y trouvent pas?


1
Qu'entendez-vous par accroche? Voyez-vous une erreur ou quelque chose? PS regarde l'option / mir ...
Chris Moutray

Cela ne donne aucune erreur. Je ne peux pas utiliser l'option / mir car cela supprimerait les fichiers déjà présents dans le dossier de destination. Veuillez suggérer d'autres options.
gautam kumar

Essayez where robocopyde trouver l'exécutable robocopy et assurez-vous que celui que vous utilisez correspond au système d'exploitation. IIRC, l'ancienne version de robocopy qui était distribuée avec le kit de ressources n'est pas entièrement compatible avec les systèmes d'exploitation ultérieurs et peut se manifester comme un blocage.
Harry Johnston

Vous pouvez l'exécuter avec l'option / V pour afficher les détails de ce qu'il fait.
M-Razavi

Réponses:


20

Essayez /isqui est "inclure les mêmes fichiers". Dans mon cas, robocopy n'écrasera pas un fichier, mais avec cette option, il le fera.


6

Robocopy pourra écraser les fichiers à moins que vous ne le lui disiez (en utilisant l'un des /X*commutateurs). Un fichier verrouillé peut le bloquer, mais en réalité Robocopy réessayera, avec des valeurs par défaut, ce qui signifie qu'il peut falloir longtemps pour réessayer un fichier. Vous pouvez modifier les options de nouvelle tentative afin qu'il ne réessaye que quelques fois et n'attende peut-être pas très longtemps entre les nouvelles tentatives.

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

En outre, il est possible qu'il copie de manière récursive des données via des points de jonction . J'utilise toujours l' /XJoption dans les opérations Robocopy pour éviter cela.

Questions en tant qu'avocat du diable:

  1. Quelle ligne de commande utilisez-vous et pouvez-vous nous donner la sortie de la console?
  2. Êtes-vous sûr que les fichiers sur lesquels il est accroché ne sont pas seulement très gros?
  3. Êtes-vous sûr que les fichiers ne sont pas verrouillés?
  4. Exécutez-vous cette interaction sur le bureau? Serait-ce lié aux autorisations?

Salut Neil, Merci pour ta réponse. Donc, vous voulez dire que par défaut, robocopy écrasera le fichier s'il est déjà là dans le dossier de destination.
gautam kumar

Oui, certainement.
Neil Barnwell

Pouvez-vous me dire quel sera le code de sortie dans ce cas?
gautam kumar

1
Certes, bien que je ne sache pas en quoi cela vous aide: ss64.com/nt/robocopy-exit.html
Neil Barnwell
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.