Я использую robocopy для копирования файлов, но он просто зависает (я думаю, причина в том, что файл уже присутствует в папке). Есть ли опция, с помощью которой я могу перезаписать файлы (если они уже находятся в месте назначения) или просто скопировать их, если их там нет?
2 ответа
Попробуйте /is
что "включить те же файлы". В моем случае robocopy не будет перезаписывать файл, но с этой опцией, он будет.
Robocopy сможет перезаписывать файлы, если вы не запретите (используя один из ключей /X*
). Заблокированный файл может его повесить, но на самом деле Robocopy будет повторять попытку, по умолчанию это означает, что повторная попытка файла может занять много времени. Вы можете изменить параметры повтора так, чтобы он повторял только пару раз и, возможно, не слишком долго ожидал между попытками.
Из 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).
Также возможно, что это рекурсивное копирование данных через точки соединения. Я всегда использую параметр /XJ
в операциях Robocopy, чтобы предотвратить это.
Вопросы как адвокат дьявола:
- Какую командную строку вы используете и можете ли вы дать нам вывод консоли?
- Вы уверены, что файлы, на которых он висит, не очень большие?
- Вы уверены, что файлы не заблокированы?
- Вы используете этот интерактивный на рабочем столе? Может ли это быть связано с разрешениями?