Синхронизация каталогов по эталонной папке
Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik
- MilitaryPT
- Сообщения: 8
- Зарегистрирован: Вт янв 17, 2017 17:03
Синхронизация каталогов по эталонной папке
Задача стоит в следующем: есть каталог эталон "C:\Metadata" который следует синхронизировать c каталогами
С:\config\Environment\restoreDefault\Metadata\
С:\config\Micro\restoreDefault\Metadata\
C:\config\PrivateEffects\restoreDefault\Metadata\ и т. д.
Каталогов пару сотен, стандартным методом получается синхронизировать только каталог<->каталог, а требует каталог<->каталоги.
Перекопал кучу тем, перепробовал уйму программ но решения так и не нашел.
С:\config\Environment\restoreDefault\Metadata\
С:\config\Micro\restoreDefault\Metadata\
C:\config\PrivateEffects\restoreDefault\Metadata\ и т. д.
Каталогов пару сотен, стандартным методом получается синхронизировать только каталог<->каталог, а требует каталог<->каталоги.
Перекопал кучу тем, перепробовал уйму программ но решения так и не нашел.
MilitaryPT
Наверное, можно попробовать FastCopy в режиме Sync: из эталонной папки будут скопированы файлы, которые различаются по дате и/или размеру, а файлы, отсутствующие в эталонной папке, будут удалены.
Наверное, можно попробовать FastCopy в режиме Sync: из эталонной папки будут скопированы файлы, которые различаются по дате и/или размеру, а файлы, отсутствующие в эталонной папке, будут удалены.
- MilitaryPT
- Сообщения: 8
- Зарегистрирован: Вт янв 17, 2017 17:03
Skif_off
Но с таким же успехом я могу использовать и синхронизацию в Total Commander, проблема в том что каталогов Metadata пару сотен и каждый из них открывать в программе FastCopy займет кучу времени, к тому же копировать все файлы с эталонной папки не надо, а только обновить имеющиеся в обеих папках файлы. Также я могу пропустить по невнимательности один из каталогов что в дальнейшем приведет к куче ошибок в роботе программы.
Но с таким же успехом я могу использовать и синхронизацию в Total Commander, проблема в том что каталогов Metadata пару сотен и каждый из них открывать в программе FastCopy займет кучу времени, к тому же копировать все файлы с эталонной папки не надо, а только обновить имеющиеся в обеих папках файлы. Также я могу пропустить по невнимательности один из каталогов что в дальнейшем приведет к куче ошибок в роботе программы.
MilitaryPT
Раз нет нужды в новых файлах, создайте один раз жёсткие/символические ссылки на файлы в этих каталогах, да и всё. Место сэкономите, да и синхронизировать больше не придётся.
Чтобы ускорить процесс для несменных файлов, после первого создания ссылок уже их можно раскидать в найденные поиском и выделенные папки при соответствующей настройке ключа CopyLinks (см. описание в справке).
Раз нет нужды в новых файлах, создайте один раз жёсткие/символические ссылки на файлы в этих каталогах, да и всё. Место сэкономите, да и синхронизировать больше не придётся.
Чтобы ускорить процесс для несменных файлов, после первого создания ссылок уже их можно раскидать в найденные поиском и выделенные папки при соответствующей настройке ключа CopyLinks (см. описание в справке).
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Тут всё же не синхронизация, а зеркалирование, судя по описанию.MilitaryPT писал(а):Перекопал кучу тем, перепробовал уйму программ но решения так и не нашел.
ICE Mirror. Есть командная строка, сделать простой батник.
Не открывайте, параметры командной строки там на что?MilitaryPT писал(а):проблема в том что каталогов Metadata пару сотен и каждый из них открывать в программе FastCopy займет кучу времени
В этом случае и не будет всё копироваться, будут скопированы только файлы с другим размером и/или датой, остальные пропущены.MilitaryPT писал(а):к тому же копировать все файлы с эталонной папки не надо
- MilitaryPT
- Сообщения: 8
- Зарегистрирован: Вт янв 17, 2017 17:03
Символические ссылки не помогут, так как данные каталоги должны обновится и упаковаться в rar архив.Flasher писал(а):Раз нет нужды в новых файлах, создайте один раз жёсткие/символические ссылки на файлы в этих каталогах
Думаю это именно синхронизация так как зеркалирование создает полное зеркало папки, а мне этого не требуется, только обновить те файлы которые есть в целевой директории по эталон директории.Rodny писал(а):Тут всё же не синхронизация, а зеркалирование, судя по описанию.
Я не знаю по чему но программа все равно копирует все файлы и папки, то есть она копирует и те файлы которых нет в целевом каталоге.Skif_off писал(а):В этом случае и не будет всё копироваться, будут скопированы только файлы с другим размером и/или датой, остальные пропущены.
Запускаю программу с параметром sync
"C:\Program Files\FastCopy\FastCopy.exe" /cmd=sync "c:\Metadata" /to="c:\test\2\remove\Metadata"
Она конечно заменяет файлы которые отличаются но также и копирует все файлы с папки эталона в целевую папку, чего делать не требуется.
Каталоги? Т.е. целевые? Так я и пишу - один раз создаёте ссылки и больше обновление не потребуется.MilitaryPT писал(а):так как данные каталоги должны обновится и упаковаться в rar архив.
Если бы речь шла о файлах в каталоге-эталоне (т.е. они не редактируются, а перезаписываются через удаление старых), то это другое дело.
Насчёт упаковки поподробнее. Пишите от начала до конца в деталях, что и в каком виде требуется. Есть там затрагиваемые подпапки или нет и т.д.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
- MilitaryPT
- Сообщения: 8
- Зарегистрирован: Вт янв 17, 2017 17:03
Есть программа в которой есть каталог "Metadata" он обновляется с выходом нового патча. Также есть программа которая редактирует этот каталог путем замены в нем фалов которые могут располагаться в различных подкаталогах. В программе есть две функции Remove Effects и Restore Default. При выборе функции Remove Effects в каталоге эталоне изменяются определенные файлы путем замены файлов с каталога removeEffects\Metadata\Effects\*\*\ *\ в эталонный каталог. При выборе функцию Restore Default программа должна вернуть прежний вид каталогу путем замены фалов из каталога \restoreDefault\Metadata\Effects\*\ *\ *\ в эталонный каталог.Flasher писал(а):Насчёт упаковки поподробнее. Пишите от начала до конца в деталях, что и в каком виде требуется. Есть там затрагиваемые подпапки или нет и т.д.
Задача стоит в следующем чтобы держать каталоги restoreDefault\Metadata\*\*\...\ в актуальном состоянии с выходом нового патча, путем синхронизации c эталоном Metadata. После синхронизации программа которая включает в себя все эти каталоги упаковывается и отправляется на форум.
MilitaryPT
Замена там как происходит? С удалением или перезаписью содержимого файлов?
Скрипт освежения и упаковки сделать могу, только уже в ПО, т.к. история совсем не про ТС.
Замена там как происходит? С удалением или перезаписью содержимого файлов?
Для этого достаточно освежить файлы командой F в WinRAR.MilitaryPT писал(а): После синхронизации программа которая включает в себя все эти каталоги упаковывается и отправляется на форум.
Скрипт освежения и упаковки сделать могу, только уже в ПО, т.к. история совсем не про ТС.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
- MilitaryPT
- Сообщения: 8
- Зарегистрирован: Вт янв 17, 2017 17:03
Перезапись содержимого файлов, файлы остаются на прежних местах просто вносятся изменения.Flasher писал(а):Замена там как происходит? С удалением или перезаписью содержимого файлов?
Копаясь на англоязычном форуме я нашел тему, я так понимаю что стандартными средствами данную задачу решить в Total Commander не возможно?
http://ghisler.ch/board/viewtopic.php?t ... w=previous
В таком случае предложение со ссылками остаётся актуальным. Нет смысла плодить сущности. А во время упаковки в архив пойдут именно файлы, если не использовать ключи -oh/-ol.MilitaryPT писал(а):Перезапись содержимого файлов
А вообще для символических ссылок (в отличии от жёстких) не имеет значения, удалялись файлы или нет. Так что в любом случае решение годное.
Автоматом (без ручек) - нет.MilitaryPT писал(а): я так понимаю что стандартными средствами данную задачу решить в Total Commander не возможно?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
- MilitaryPT
- Сообщения: 8
- Зарегистрирован: Вт янв 17, 2017 17:03
А примерный алгоритм создания символьных ссылок каков?Flasher писал(а):В таком случае предложение со ссылками остаётся актуальным.
Для начала должен найти все пути ко всем файлам в restoreDefault\Metadata\ потом создать ссылки в папку эталон этих файлов, а затем только упаковать? Не получится так что я упакую только ссылки?
MilitaryPT
Забираем утилиту по приведённой ссылке.
В другой панели одна из целевых папок, стоим в папке-эталоне, жмём Ctrl+B, выделяем нужные файлы, жмём кнопку (см. пути):После этого исходной папкой ставим ту, куда попали ссылки, а последующие папки располагаем в другой панели и пользуемся кнопкой:
Можно, в принципе, и для списка путей папок (см. путь к Список.txt) сделать:
Забираем утилиту по приведённой ссылке.
В другой панели одна из целевых папок, стоим в папке-эталоне, жмём Ctrl+B, выделяем нужные файлы, жмём кнопку (см. пути):
Код: Выделить всё
TOTALCMD#BAR#DATA
*%COMMANDER_PATH%\Utils\NTLinksMaker\NTLinksMaker.exe /q /s
/r="%P" "@%WL" "%T"
Utils\NTLinksMaker\NTLinksMaker.exe
Создать символические ссылки на выбранное в другой панелиКод: Выделить всё
TOTALCMD#BAR#DATA
xcopy
"%P*" "%T" /ciqshrukoxyb
wcmicons.dll,48
Освежить имеющиеся файлы в структуре|целевой панели файлами из исходной
1Код: Выделить всё
TOTALCMD#BAR#DATA
%ComSpec% /c for /f "delims=" %# in ('type "%COMMANDER_PATH%\Scripts\Список.txt"')
do xcopy "%P*" "%%#" /ciqshrukoxyb
wcmicons.dll,48
Освежить имеющиеся файлы в структурах целевых|каталогов заданного списка файлами из активного
1Я же писал:MilitaryPT писал(а):Не получится так что я упакую только ссылки?
Flasher писал(а):А во время упаковки в архив пойдут именно файлы, если не использовать ключи -oh/-ol.
Последний раз редактировалось Flasher Чт янв 19, 2017 03:40, всего редактировалось 2 раза.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.