synology.forum архив спільноти · 2005–2022
ai.synology.forum →
ГлавнаяBackup/Restore › Data Replicator 3 - не копирует файлы вложенные в папки с длинными именами

Data Replicator 3 - не копирует файлы вложенные в папки с длинными именами

Master_Hans · 24.04.2013

Добрый день!

 

У меня вот такая проблема :

 

04/23/2013 00:23:54 Ошибка[206]: Имя файла или его расширение имеет слишком большую длину.

04/23/2013 00:23:54 Не удалось зарезервировать E:\Documents\Аргос\Дог обслуж 2007\Новая папка\ЦБ\Договор 01-30 действ с 01.03.2011 по 31.03.2013\Замена оборуд\Не востр\Замена оборуд аккумул. январь 2012 не действ\Приложение 4 к Регламенту (АКТ приёма в эксплуатацию оборудования ОТС после ремонта).doc .

04/23/2013 00:23:53 Ошибка[3]: Системе не удается найти указанный путь.

04/23/2013 00:23:53 Не удалось зарезервировать E:\Documents\Аргос\Дог обслуж 2007\Новая папка\ЦБ\Договор 01-30 действ с 01.03.2011 по 31.03.2013\Замена оборуд\2012 год\Замена оборуд аккумул. январь 2012\Январь 2012 УИ ТСОН\Приложение 4 к Регламенту (АКТ приёма в эксплуатацию оборудования ОТС после ремонта).doc .

04/23/2013 00:23:53 Ошибка[3]: Системе не удается найти указанный путь.

04/23/2013 00:23:53 Не удалось зарезервировать E:\Documents\Аргос\Дог обслуж 2007\Новая папка\ЦБ\Договор 01-30 действ с 01.03.2011 по 31.03.2013\Замена оборуд\2012 год\Замена оборуд аккумул. январь 2012\Январь 2012 УИ ОТС\Приложение 4 к Регламенту (АКТ приёма в эксплуатацию оборудования ОТС после ремонта).doc .

04/23/2013 00:23:51 Ошибка[3]: Системе не удается найти указанный путь.

04/23/2013 00:23:51 Не удалось зарезервировать E:\Documents\Аргос\Дог обслуж 2007\Новая папка\ЦБ\Договор 01-30 действ с 01.03.2011 по 31.03.2013\Замена оборуд\2011 год\Замена оборуд жесткий диск ноябрь 2011\Ремонт ОС и СКУД Апрель 28.04.2011\Приложение 4 к Регламенту (АКТ приёма в эксплуатацию оборудования СКУД после ремонта).doc .

04/23/2013 00:23:51 Ошибка[3]: Системе не удается найти указанный путь.

04/23/2013 00:23:51 Не удалось зарезервировать E:\Documents\Аргос\Дог обслуж 2007\Новая папка\ЦБ\Договор 01-30 действ с 01.03.2011 по 31.03.2013\Замена оборуд\2011 год\Замена оборуд жесткий диск ноябрь 2011\Ремонт ОС и СКУД Апрель 28.04.2011\Приложение 4 к Регламенту (АКТ приёма в эксплуатацию оборудования ОТС после ремонта).doc .

04/23/2013 00:23:51 Ошибка[3]: Системе не удается найти указанный путь.

04/23/2013 00:23:51 Не удалось зарезервировать E:\Documents\Аргос\Дог обслуж 2007\Новая папка\ЦБ\Договор 01-30 действ с 01.03.2011 по 31.03.2013\Замена оборуд\2011 год\Замена оборуд жесткий диск ноябрь 2011\Ремонт ОС и СКУД Апрель 28.04.2011\Приложение 3 к Регламенту 2011(Заключение по диагностике СКУД).doc .

04/23/2013 00:23:51 Ошибка[3]: Системе не удается найти указанный путь.

04/23/2013 00:23:51 Не удалось зарезервировать E:\Documents\Аргос\Дог обслуж 2007\Новая папка\ЦБ\Договор 01-30 действ с 01.03.2011 по 31.03.2013\Замена оборуд\2011 год\Замена оборуд жесткий диск ноябрь 2011\Ремонт ОС и СКУД Апрель 28.04.2011\Приложение 3 к Регламенту 2011(Заключение по диагностике ОТС).doc .

 

Возможно ли это побороть потому как переименовывать очень много папок придётся...

pavel.pimenov · 10.07.2013

Упс. плохо... знакомый косяк.

Вероятно это ошибка в репликаторе

Разработчики не предусмотрели работу с путями длинее MAX_PATH

Фиксится это легко - нужно перед открытием файла добавлять return _T("\\\\?\\") + path;

Ждем новой версии !

// http://msdn.microsoft.com/en-us/library/aa...5).aspx#maxpath

// fixed http://code.google.com/p/flylinkdc/issues/detail?id=1019

static tstring FormatPath(const tstring& path)

{

if (path.size() < MAX_PATH - 1)

return path;

 

if (path[1] == _T('\\') && path[0] == _T('\\'))

return _T("\\\\?\\UNC\\") + path.substr(2);

else

return _T("\\\\?\\") + path;

}