Я использую xcopy
для копирования больших пакетов файлов. В xcopy
мне особенно нравится параметр /F
который показывает все исходные и целевые файлы, включая пути, что-то вроде:
xcopy /E /Y /F D:\Temp_Folder\test_origin\* D:\Temp_Folder\test_dest\
D:\Temp\origin\B_Normal\blabla.txt -> D:\Temp\dest\B_Normal\blabla.txt
D:\Temp\origin\B_Normal\B.A\normal.txt -> D:\Temp\dest\B_Normal\B.A\normal.txt
D:\Temp\origin\B_Normal\B.B\drawing.bmp -> D:\Temp\dest\B_Normal\B.B\drawing.bmp
D:\Temp\origin\C_Fill_with_empty\empty.bmp -> D:\Temp\dest\C_Fill_with_empty\empty.bmp
D:\Temp\origin\C_Fill_with_empty\empty.txt -> D:\Temp\dest\C_Fill_with_empty\empty.txt
5 File(s) copied
Однако, похоже, есть некоторые проблемы:
D:\Temp\origin>tree /F /A
...
D:.
+---A_Empty
+---B_Normal
| | blabla.txt
| |
| +---B.A
| | normal.txt
| |
| \---B.B
| Drawing.bmp
|
\---C_Fill_with_empty
| empty.bmp
| empty.txt
|
\---empty
Как вы можете видеть, каталоги D:\Temp\origin\A_Empty\
и D:\Temp\origin\C_Fill_with_empty\empty\
кажутся не скопированными (кажется, что копируются пустые файлы, а не пустые каталоги).
Однако это не так: в папке назначения находятся каталоги A_empty
и C_Fill_with_empty\empty
, но ключ /F
показывает только файлы, которые были скопированы, поэтому копирование пустых каталогов выполняется, но не показывается. (В моем оригинальном посте я думал, что пустые каталоги не были скопированы)
Самое главное, я не понимаю значение переключателя /C
, который говорит
Продолжает копирование, даже если возникают ошибки.
Прошлой ночью результатом xcopy
связки было сообщение об ошибке:
\\nas\<Complicated_Directory_Tree>\<file1>.gif -> G:\<Complicated_Directory_Tree>\<file1>.gif
\\nas\<Complicated_Directory_Tree>\<file2>.gif -> G:\<Complicated_Directory_Tree>\<file2>.gif
Sharing violation
Я хотел бы избежать этого невоспроизводимого сообщения об ошибке, используя механизм повторных попыток, но я не знаю, как будет вести себя переключатель /C
: будет ли он вести себя как "Retry" или "Ignore"? (Этот вопрос уже задавался другими людьми, но эти люди получили совет перейти на robocopy
, но, как упоминалось в этом сообщении StackOverflow , это также не так подвержено ошибкам).
Кто-нибудь знает, как заставить механизм повтора?
заранее спасибо