[WCX] CopyTree - копирование с сохранением структуры

Обсуждение только плагинов и утилит для Total Commander.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

LonerD писал(а):Надо бы добавить возможность опционально задавать дефолтную глубину каталогов, как в TreeCopy.
Пример. Мне обычно надо копировать структуру каталогов относительно корня диска, и гораздо реже - другую структуру. В TreeCopy в настройках стоит единица - и по умолчанию сохраняются все каталоги относительно корня.
В CopyTree, я так понимаю, сейчас это сделать невозможно - нужно обязательно при каждом копировании вручную выбирать глубину.
Добавлю параметр, переопределяющий выбор дефолтного варианта (если задан, в списке всегда будет выделена строка с этим номером, отрицательный - с конца).
LonerD писал(а):Ещё стоит добавить возможность перемещения (галочка Move to Archive в настройках архивирования).
Короче, смотрю, Readme или первый пост темы, не говоря уже об описании плагина на wincmd.ru читать нынче вообще не модно. Фича поддерживается. Пустые каталоги не удаляются (может, исправлю потом), но файлы прекрасно переносятся.
LonerD писал(а):В диалоге выбора глубины каталогов - имхо, логичне было бы сделать наоборот. Первой строкой - сохранение полного пути с буквой диска, второй строкой - сохранение относительно корня диска... и последней - копирование только выделенного без каталогов верхнего уровня. Или хотя бы опционально сделать в ini-файле настройку изменения порядка отображаемой структуры каталогов.
А мне текущая логика кажется вполне естественной. Верхняя строка соответствует обычному тотальному копированию, дальше - глубже.
LonerD писал(а):Не знаю - насколько рациональной покажется следующая идея, но по-моему, будет выглядеть наглядней, особенно если вложенность большая и весь путь не помещается в окошко копирования.
В диалоге выбора глубины каталогов - на каждой строке отображать не полный путь, а относительный.
Это будет сбивать с толку. В текущей реализации сразу видно, какой набор уровней будет воссоздан.


Обновил плагин, добавил параметр DefaultChoiceIndex.
Аватара пользователя
LonerD
Сообщения: 1174
Зарегистрирован: Вт янв 04, 2011 03:56
Откуда: Макеевка
Контактная информация:

Сообщение LonerD »

Пустые каталоги не удаляются (может, исправлю потом), но файлы прекрасно переносятся.
Точно, я как-раз и пытался переместить каталог. Смотрю - он остался на месте. А что он пустой уже - не заметил. :)
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

MVV
После поиска всех файлов в папке с подкаталогами и вызова результатов поиска на панель, запускаю копирование плагином и получаю сообщения о замене файлов в подкаталогах. Так и должно быть?
Аватара пользователя
LonerD
Сообщения: 1174
Зарегистрирован: Вт янв 04, 2011 03:56
Откуда: Макеевка
Контактная информация:

Сообщение LonerD »

Обновил плагин, добавил параметр DefaultChoiceIndex.
Без перезагрузки Тотала плагин не реагирует на изменение параметра :(
Если все галочки в настройках сняты - параметр вообще игнорируется. :( Активируется только если отображается диалог выбора уровня.

Окошко про "User Abort!" имхо излишнее (хотя оно и давится через SM2BT).
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

sa писал(а):После поиска всех файлов в папке с подкаталогами и вызова результатов поиска на панель, запускаю копирование плагином и получаю сообщения о замене файлов в подкаталогах. Так и должно быть?
Хм, получилось воспроизвести, поковыряюсь в отладчике. Ага, понял причину. Когда ты в результатах поиска выделяешь и файлы, и каталоги, тотал передаёт плагину список, в котором файлы встречаются по несколько раз (содержимое каталогов тотал раскрывает плюс сами файлы добавляет в список). Причём, чем вложенность файла выше, тем больше сообщений по нему будет, т.к. тотал будет добавлять его при переборе каждого выделенного каталога. И по идее такая проблема существует для любого архиваторного плагина.
LonerD писал(а):Без перезагрузки Тотала плагин не реагирует на изменение параметра :(
Ну настройки читаются только при загрузке. Можешь пока использовать команду cm_UnloadPlugins. Потом сделаю кнопку загрузки настроек.
LonerD писал(а):Если все галочки в настройках сняты - параметр вообще игнорируется. :( Активируется только если отображается диалог выбора уровня.
Да, пока так. Потом доделаю.
LonerD писал(а):Окошко про "User Abort!" имхо излишнее (хотя оно и давится через SM2BT).
Окошко показывает тотал, т.к. я ему говорю, что юзер прервал операцию. А тотал у нас любитель сообщений. :D
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

MVV писал(а):получилось воспроизвести
Если при этом в качестве маски указать * \, то до сообщений о замене файлов дело не доходит, а ТК у меня как бы подвисает на диалоге прогресса копирования.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

sa писал(а):Если при этом в качестве маски указать * \, то до сообщений о замене файлов дело не доходит, а ТК у меня как бы подвисает на диалоге прогресса копирования.
Спасибо, как раз вовремя. Да, это был цикл создания структуры каталогов, я менял там код недавно, а одну штуку не поправил.

Добавлено спустя 32 минуты:

Обновил дистрибутив.


CopyTree 1.1.1.120:
+ добавлен параметр DefaultChoiceIndex для переопределения индекса элемента списка по умолчанию
+ параметр DefaultChoiceIndex заменён параметром DefaultCopyLevel, работающим и без диалога
+ кнопка загрузки настроек из INI-файла в диалоге настроек
+ изменяемый размер диалога выбора глубины
+ диалог выбора глубины запоминает размер
* удалён нежелательный импорт из MVCR100.DLL в 64-битной версии
* зависание при копировании пустых папок
* перезапись файлов только для чтения
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

MVV писал(а):* зависание при копировании
Теперь не зависает.
MVV писал(а):такая проблема существует для любого архиваторного плагина.
Плагин 7Zip, например, не выводит диалога перезаписи файлов при упаковке той же панели с результатами поиска.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

sa писал(а):Плагин 7Zip, например, не выводит диалога перезаписи файлов при упаковке той же панели с результатами поиска.
Ага, попробовал сейчас:

zip, tar
Тотал спрашивает о перезаписи.

Total7zip
Вообще ругается на выделенную папку, если выделяю папку и файлы из неё. А если выделяю чисто папку, получаю файлы из папки и в подпапке, и в самом архиве (версия у меня 0.8.5.0, возможно в последней исправлено).

7Zip
Получил в архиве по несколько копий этих файлов в одной и той же папке, потому и без подтверждений (подтверждения будут при извлечении). :D А у меня файловая система не позволяет держать файлы с одинаковыми именами в одной папке. :roll:


Можно, конечно, не копировать файлы второй раз, но придётся каждый обработанный файл добавлять в массив, и каждый очередной проверять на отсутствие в этом массиве. Для большого числа файлов операция не из весёлых. Думаю, правильнее будет исправлять такую проблему на стороне тотала.
Последний раз редактировалось MVV Вс июл 22, 2012 16:31, всего редактировалось 1 раз.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

MVV писал(а):Получил в архиве по несколько копий этих файлов в одной и той же папке
И, правда! :)
Аватара пользователя
Mellomann
Сообщения: 709
Зарегистрирован: Пн сен 07, 2009 00:44

Сообщение Mellomann »

Абслютно верно, 7zip пакует все дубли, спрашивая при распаковке, а остальные либо крошатся, либо переспрашивают...

Назрел у меня капитальный вопрос тогда:
КАК 7z заставить в нормальных условиях упаковать более одного файла с идентичным путём так, чтобы при распаковке так же заранее можно было выбрать нужный из них? Он же (7z) как-то отличает где какой из дублей...

Добавлено спустя 3 минуты:

Хотя ладно, упаковать - особо не вопрос. А, вот, КАК распаковать нужный из них? (при условии, что содержимое будет разным)
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

При распаковке заменять уже распакованные, пока не извлечешь нужный. :D А вообще, это уже зависит от распаковщика. При внутреннем распаковщике можно по каким-нибудь индексам файлы различать. Концепция WCX API тотала такого не позволяет.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Leopoldus писал(а):чтобы при копировании воспроизводилось время модификации директориев
Поддерживаю предложение. В Zip и 7zip это есть.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Мне так никто и не объяснил,
MVV писал(а):Какой вообще смысл в копировании дат модификации? На NTFS дата модификации каталога - крайне нестабильная штука. Малейшее изменение в папке - и дата утрачена.
В архиве - другое дело, там с ней ничего не случится. А на диске...
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

MVV писал(а):Какой вообще смысл в копировании дат модификации?
У меня, например, сортировка в панели (подробный режим) обычно по времени. Все “свежие” файлы и каталоги всегда сверху, под рукой.
Ответить