XCopy - захватывать только файлы, которые полностью загружены - PullRequest
0 голосов
/ 27 января 2009

У меня есть автоматизированное задание, которое извлекает файлы, которые загружаются на наши серверы через клиентский сайт с использованием xcopy.

Есть ли способ вытащить только файлы, которые полностью загружены?

Я думал о создании второй папки "inProcess", которая будет использоваться для загрузки, а затем перемещать эти файлы после полной загрузки, но это все равно создает окно времени, когда файл находится в процессе перехода в папку "Готово". ..

Есть мысли?

Ответы [ 2 ]

2 голосов
/ 27 января 2009

используйте расширение .filepart для временных файлов.

Это, наверное, самый простой и понятный способ сделать это.

WinSCP делает это.

1 голос
/ 27 января 2009

Вы можете загрузить MD5-хеш файла, а затем загрузить файл, и если загруженный файл не соответствует MD5, значит, он не завершен (или, если потребуется много времени, возможно, он загружен неправильно)

MD5 часто используется для проверки целостности файла путем создания хеш-функции, представляющей файл. Если файл вообще меняется, он почти всегда (как в принципе, никогда в наших целях) не генерирует другой хеш MD5. Единственная причина, по которой файл не соответствует ранее загруженному хешу MD5, - это если он не был завершен или файл MD5 / был поврежден при загрузке.

Существует также this. но это perl и из обмена эксперта (ick)

...