Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Синхронизация каталогов по эталонной папке
Goto page 1, 2, 3  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы printer-friendly view
View previous topic :: View next topic  
Author Message
MilitaryPT



Joined: 17 Jan 2017
Posts: 8

Post (Separately) Posted: Tue Jan 17, 2017 19:23    Post subject: Синхронизация каталогов по эталонной папке Reply with quote

Задача стоит в следующем: есть каталог эталон "C:\Metadata" который следует синхронизировать c каталогами
С:\config\Environment\restoreDefault\Metadata\
С:\config\Micro\restoreDefault\Metadata\
C:\config\PrivateEffects\restoreDefault\Metadata\ и т. д.
Каталогов пару сотен, стандартным методом получается синхронизировать только каталог<->каталог, а требует каталог<->каталоги.
Перекопал кучу тем, перепробовал уйму программ но решения так и не нашел.
Back to top
View user's profile Send private message
Skif_off



Joined: 28 Nov 2012
Posts: 1232

Post (Separately) Posted: Tue Jan 17, 2017 19:36    Post subject: Reply with quote

MilitaryPT
Наверное, можно попробовать FastCopy в режиме Sync: из эталонной папки будут скопированы файлы, которые различаются по дате и/или размеру, а файлы, отсутствующие в эталонной папке, будут удалены.
Back to top
View user's profile Send private message
MilitaryPT



Joined: 17 Jan 2017
Posts: 8

Post (Separately) Posted: Tue Jan 17, 2017 20:07    Post subject: Reply with quote

Skif_off
Но с таким же успехом я могу использовать и синхронизацию в Total Commander, проблема в том что каталогов Metadata пару сотен и каждый из них открывать в программе FastCopy займет кучу времени, к тому же копировать все файлы с эталонной папки не надо, а только обновить имеющиеся в обеих папках файлы. Также я могу пропустить по невнимательности один из каталогов что в дальнейшем приведет к куче ошибок в роботе программы.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Tue Jan 17, 2017 20:17    Post subject: Reply with quote

MilitaryPT
Раз нет нужды в новых файлах, создайте один раз жёсткие/символические ссылки на файлы в этих каталогах, да и всё. Место сэкономите, да и синхронизировать больше не придётся.
Чтобы ускорить процесс для несменных файлов, после первого создания ссылок уже их можно раскидать в найденные поиском и выделенные папки при соответствующей настройке ключа CopyLinks (см. описание в справке).
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Rodny



Joined: 24 Jan 2007
Posts: 949
Location: Могилёв, Беларусь

Post (Separately) Posted: Tue Jan 17, 2017 21:25    Post subject: Reply with quote

MilitaryPT wrote:
Перекопал кучу тем, перепробовал уйму программ но решения так и не нашел.

Тут всё же не синхронизация, а зеркалирование, судя по описанию.
ICE Mirror. Есть командная строка, сделать простой батник.
Back to top
View user's profile Send private message
Skif_off



Joined: 28 Nov 2012
Posts: 1232

Post (Separately) Posted: Tue Jan 17, 2017 21:35    Post subject: Reply with quote

MilitaryPT wrote:
проблема в том что каталогов Metadata пару сотен и каждый из них открывать в программе FastCopy займет кучу времени

Не открывайте, параметры командной строки там на что? Smile В батнике зовёте всю пару сотен с /no_ui и засовываете его в планировщик, например.
MilitaryPT wrote:
к тому же копировать все файлы с эталонной папки не надо

В этом случае и не будет всё копироваться, будут скопированы только файлы с другим размером и/или датой, остальные пропущены.
Back to top
View user's profile Send private message
MilitaryPT



Joined: 17 Jan 2017
Posts: 8

Post (Separately) Posted: Wed Jan 18, 2017 06:18    Post subject: Reply with quote

Flasher wrote:
Раз нет нужды в новых файлах, создайте один раз жёсткие/символические ссылки на файлы в этих каталогах

Символические ссылки не помогут, так как данные каталоги должны обновится и упаковаться в rar архив.
Rodny wrote:
Тут всё же не синхронизация, а зеркалирование, судя по описанию.

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

Skif_off wrote:
В этом случае и не будет всё копироваться, будут скопированы только файлы с другим размером и/или датой, остальные пропущены.


Я не знаю по чему но программа все равно копирует все файлы и папки, то есть она копирует и те файлы которых нет в целевом каталоге.

Запускаю программу с параметром sync
"C:\Program Files\FastCopy\FastCopy.exe" /cmd=sync "c:\Metadata\" /to="c:\test\2\remove\Metadata\"
Она конечно заменяет файлы которые отличаются но также и копирует все файлы с папки эталона в целевую папку, чего делать не требуется.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Wed Jan 18, 2017 08:37    Post subject: Reply with quote

MilitaryPT wrote:
так как данные каталоги должны обновится и упаковаться в rar архив.
Каталоги? Т.е. целевые? Так я и пишу - один раз создаёте ссылки и больше обновление не потребуется.
Если бы речь шла о файлах в каталоге-эталоне (т.е. они не редактируются, а перезаписываются через удаление старых), то это другое дело.

Насчёт упаковки поподробнее. Пишите от начала до конца в деталях, что и в каком виде требуется. Есть там затрагиваемые подпапки или нет и т.д.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2563

Post (Separately) Posted: Wed Jan 18, 2017 09:23    Post subject: Reply with quote

MilitaryPT
Чтобы не пропустить по невнимательности один из каталогов, можно создать батник со строками наподобие
totalcmd.exe /S=S:= /L= C:\Metadata /R= С:\config\...\restoreDefault\Metadata
Но ключа /no_ui здесь нет, затем всё ручками делается.
Back to top
View user's profile Send private message
MilitaryPT



Joined: 17 Jan 2017
Posts: 8

Post (Separately) Posted: Wed Jan 18, 2017 10:41    Post subject: Reply with quote

Flasher wrote:
Насчёт упаковки поподробнее. Пишите от начала до конца в деталях, что и в каком виде требуется. Есть там затрагиваемые подпапки или нет и т.д.

Есть программа в которой есть каталог "Metadata" он обновляется с выходом нового патча. Также есть программа которая редактирует этот каталог путем замены в нем фалов которые могут располагаться в различных подкаталогах. В программе есть две функции Remove Effects и Restore Default. При выборе функции Remove Effects в каталоге эталоне изменяются определенные файлы путем замены файлов с каталога removeEffects\Metadata\Effects\*\*\ *\ в эталонный каталог. При выборе функцию Restore Default программа должна вернуть прежний вид каталогу путем замены фалов из каталога \restoreDefault\Metadata\Effects\*\ *\ *\ в эталонный каталог.
Задача стоит в следующем чтобы держать каталоги restoreDefault\Metadata\*\*\...\ в актуальном состоянии с выходом нового патча, путем синхронизации c эталоном Metadata. После синхронизации программа которая включает в себя все эти каталоги упаковывается и отправляется на форум.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Wed Jan 18, 2017 10:56    Post subject: Reply with quote

MilitaryPT
Замена там как происходит? С удалением или перезаписью содержимого файлов?

MilitaryPT wrote:
После синхронизации программа которая включает в себя все эти каталоги упаковывается и отправляется на форум.
Для этого достаточно освежить файлы командой F в WinRAR.

Скрипт освежения и упаковки сделать могу, только уже в ПО, т.к. история совсем не про ТС.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
MilitaryPT



Joined: 17 Jan 2017
Posts: 8

Post (Separately) Posted: Wed Jan 18, 2017 11:06    Post subject: Reply with quote

Flasher wrote:
Замена там как происходит? С удалением или перезаписью содержимого файлов?

Перезапись содержимого файлов, файлы остаются на прежних местах просто вносятся изменения.
Копаясь на англоязычном форуме я нашел тему, я так понимаю что стандартными средствами данную задачу решить в Total Commander не возможно?
http://ghisler.ch/board/viewtopic.php?t=27361&view=previous
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Wed Jan 18, 2017 11:12    Post subject: Reply with quote

MilitaryPT wrote:
Перезапись содержимого файлов
В таком случае предложение со ссылками остаётся актуальным. Нет смысла плодить сущности. А во время упаковки в архив пойдут именно файлы, если не использовать ключи -oh/-ol.
А вообще для символических ссылок (в отличии от жёстких) не имеет значения, удалялись файлы или нет. Так что в любом случае решение годное.

MilitaryPT wrote:
я так понимаю что стандартными средствами данную задачу решить в Total Commander не возможно?
Автоматом (без ручек) - нет.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
MilitaryPT



Joined: 17 Jan 2017
Posts: 8

Post (Separately) Posted: Wed Jan 18, 2017 11:28    Post subject: Reply with quote

Flasher wrote:
В таком случае предложение со ссылками остаётся актуальным.

А примерный алгоритм создания символьных ссылок каков?
Для начала должен найти все пути ко всем файлам в restoreDefault\Metadata\ потом создать ссылки в папку эталон этих файлов, а затем только упаковать? Не получится так что я упакую только ссылки?
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Wed Jan 18, 2017 12:17    Post subject: Reply with quote

MilitaryPT
Забираем утилиту по приведённой ссылке.
В другой панели одна из целевых папок, стоим в папке-эталоне, жмём Ctrl+B, выделяем нужные файлы, жмём кнопку (см. пути):
Code:
TOTALCMD#BAR#DATA
*%COMMANDER_PATH%\Utils\NTLinksMaker\NTLinksMaker.exe /q /s
/r="%P" "@%WL" "%T"
Utils\NTLinksMaker\NTLinksMaker.exe
Создать символические ссылки на выбранное в другой панели
После этого исходной папкой ставим ту, куда попали ссылки, а последующие папки располагаем в другой панели и пользуемся кнопкой:
Code:
TOTALCMD#BAR#DATA
xcopy
"%P*" "%T" /ciqshrukoxyb
wcmicons.dll,48
Освежить имеющиеся файлы в структуре|целевой панели файлами из исходной

1
Можно, в принципе, и для списка путей папок (см. путь к Список.txt) сделать:
Code:
TOTALCMD#BAR#DATA
%ComSpec% /c for /f "delims=" %# in ('type "%COMMANDER_PATH%\Scripts\Список.txt"')
do xcopy "%P*" "%%#" /ciqshrukoxyb
wcmicons.dll,48
Освежить имеющиеся файлы в структурах целевых|каталогов заданного списка файлами из активного

1


MilitaryPT wrote:
Не получится так что я упакую только ссылки?
Я же писал:
Flasher wrote:
А во время упаковки в архив пойдут именно файлы, если не использовать ключи -oh/-ol.

_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.


Last edited by Flasher on Thu Jan 19, 2017 04:40; edited 2 times in total
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы All times are GMT + 4 Hours
Goto page 1, 2, 3  Next
Page 1 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group