Скопируйте новые / обновленные файлы из локальной папки в сетевую папку Sharepoint (возможно, с помощью robocopy или xcopy) - PullRequest
0 голосов
/ 04 марта 2020

Папка в библиотеке Sharepoint может содержать до 1 ГБ файлов изображений. Мне нужно скопировать всю папку (и подпапки) на мой локальный компьютер (через букву подключенного диска) [только если файлы новые / недавно изменены, чем существующие файлы]. А затем, позже, скопируйте всю папку обратно в библиотеку Sharepoint, снова только обновляя новые / обновленные файлы.

Я использую файл .bat для следующих действий:

  • сопоставить библиотеку Sharepoint с буквой диска net use p: https://thisismy.sharepoint.com
  • (адрес Sharepoint был добавлен в Inte rnet Explorer "безопасные сайты", и я вошел (нажав «Запомнить меня») в свою Sharepoint в Inte rnet Explorer)
  • Скопируйте папку (с подпапками) в локальную папку, это могут быть сотни файлов, в основном изображения, размером от 100 КБ каждый до 20/30 МБ каждый
  • (что затем могут или не могут вносить изменения в них)
  • Затем скопируйте эту папку (с подпапками) обратно на подключенный сетевой диск, но скопируйте только новые / обновленные файлы

Я был пытаясь использовать xcopy или robocopy, но ни один из них не работал должным образом до сих пор. Для удаленного локального процесса с помощью xcopy и robocopy они копировали ВСЕ файлы, независимо от того, являются ли они новыми или обновленными, на что уходит время. (Я проверил измененные дату / время в свойствах, и они были идентичны, так что, конечно, они не должны копировать?)

Для локального удаленного, с robocopy, снова это копировало все, а не только новое / обновленное файлы. С xcopy было бы сказано «ошибка создания файла - каталог не пустой». Что я не могу полностью разгадать - я знаю, что каталог не пустой, но я хочу, чтобы он копировал новые / обновленные файлы ...!

Мой самый последний код robocopy - [для удаленного в локальный ]

robocopy "P:\sites\MySiteName\Images" "C:\Project\Images" /xo /fft /copy:DAT /DCOPY:T

Я пытался использовать /mir и несколько других версий опций, но ничего не получалось, как я надеялся. /xo для включения Старшего, /fft делает время 2-секундным, /copy:DAT копирует данные, атрибуты и временные метки. /dcopy:T копирует метки времени папки. Очевидно.

Мой последний код xcopy [снова удаленный к локальному]

xcopy "P:\sites\MySiteName\Images" "C:\Project\Images" /d /e /y /c

/d должен копировать только те файлы, чья дата / время источника новее, чем время назначения , /e копировать папки и подпапки, включая пустые папки. /y подавить запрос на перезапись. /c продолжить копирование, даже если есть ошибка.

(Для локального к удаленному процессу я просто переворачиваю строки источника и назначения.)

Я подозреваю, что есть что-то в отображении библиотеки Sharepoint это делает это сложно, но это выглядит как временные метки файлов, все еще правильные, после первой копии.

Я могу нормально получить доступ к файлам сайта в Windows Explorer используя p: \ sites \ MySiteName \ в адресной строке.

(я использую файл .bat только потому, что я больше привык к коду для этого.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...