макрос "Выделить одинаковые файлы на обеих панелях", ver.2
- Kerberos464
- Posts: 1239
- Joined: Wed 29 Jul, 2009 20:24
- Location: Saint-Petersburg
- Has thanked: 19 times
- Been thanked: 1 time
макрос "Выделить одинаковые файлы на обеих панелях", ver.2
в сборке от Tim Sobolev подсмотрел макрос, который сравнивает списки файлов/папок на обеих панелях и выделяет файлы/папки с одинаковыми именами.
он работает так: последовательно перебираются все элементы на активной панели и при совпадении имени с элементом на пассивной панели, этот файл/папка выделяется на обеих панелях.
однако, у макроса есть небольшая проблема производительности - если активной панели много элементов, то макрос тормозит, не очень сильно, но неприятно, на папке с ~3000 файлов требуется около 5 секунд.
я этот макрос чуть видоизменил самым простым способом, который пришёл мне в голову - вначале сравнивается количество элементов на обеих панелях и после этого сравнение идёт по той панели, на которой элементов меньше.
т.е. если на одной панели 10 файлов, а на второй 10000, то мой макрос работает в 1000 раз быстрее, чем оригинальный =) а если на каждой панели по 10000 файлов, то скорость одинаковая, или даже мой макрос медленнее, за счёт дополнительной проверки.
в общем, вот сам макрос, по-умолчанию назначен на AltMultiply (Alt + звёздочка на цифровой клавиатуре)
1. в виде обычного текста:
2. в виде reg-файла, multi-line:
3. в виде reg-файла, single-line:
4. и в аттаче reg-файл, для тех, кому лень копипастить текст в редактор.
этот макрос войдёт и в мою сборку (на правах пиара)
он работает так: последовательно перебираются все элементы на активной панели и при совпадении имени с элементом на пассивной панели, этот файл/папка выделяется на обеих панелях.
однако, у макроса есть небольшая проблема производительности - если активной панели много элементов, то макрос тормозит, не очень сильно, но неприятно, на папке с ~3000 файлов требуется около 5 секунд.
я этот макрос чуть видоизменил самым простым способом, который пришёл мне в голову - вначале сравнивается количество элементов на обеих панелях и после этого сравнение идёт по той панели, на которой элементов меньше.
т.е. если на одной панели 10 файлов, а на второй 10000, то мой макрос работает в 1000 раз быстрее, чем оригинальный =) а если на каждой панели по 10000 файлов, то скорость одинаковая, или даже мой макрос медленнее, за счёт дополнительной проверки.
в общем, вот сам макрос, по-умолчанию назначен на AltMultiply (Alt + звёздочка на цифровой клавиатуре)
1. в виде обычного текста:
2. в виде reg-файла, multi-line:
3. в виде reg-файла, single-line:
4. и в аттаче reg-файл, для тех, кому лень копипастить текст в редактор.
этот макрос войдёт и в мою сборку (на правах пиара)
- Attachments
-
- Select same filenames on both panels (AltMultiply).reg.zip
- reg-файл, click'n'go!
- (640 Bytes) Downloaded 187 times
16.09.2012 14:35:28 +0200 - build 2799 - все нативные плагины перестали работать.
30.09.2012 03:26:20 +0200 - build 2851 - все макросы перестали работать.
31.02.2029 25:61:61 +0200 - build 6666 - весь фар перестал работать.
30.09.2012 03:26:20 +0200 - build 2851 - все макросы перестали работать.
31.02.2029 25:61:61 +0200 - build 6666 - весь фар перестал работать.
Re: макрос "Выделить одинаковые файлы на обеих панелях", ver
я для подобной операции использую такой алгоритм:
а) выбрать панель (любую или где файлов меньше)
б) выделить всё на той панели
в) скопировать имена в буфер
г) переключиться на другую панель
д) выделить имена из буфера ( Panel.Select(0,1,2,clip(0)) )
потом если надо и на первой повторить выделение, повторяем пункты в) до д) для второй панели, перед пунктом д) сбросив выделение всего.
звучит сложно, но если намакросить, может оказаться быстрее. только буфер портится.
а) выбрать панель (любую или где файлов меньше)
б) выделить всё на той панели
в) скопировать имена в буфер
г) переключиться на другую панель
д) выделить имена из буфера ( Panel.Select(0,1,2,clip(0)) )
потом если надо и на первой повторить выделение, повторяем пункты в) до д) для второй панели, перед пунктом д) сбросив выделение всего.
звучит сложно, но если намакросить, может оказаться быстрее. только буфер портится.
- John Doe
- Бюрократ
- Posts: 13853
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 428 times
- Contact:
Re: макрос "Выделить одинаковые файлы на обеих панелях", ver
А я почему-то пользуюсь для этих целей Advanced compare.
- Tim Sobolev
- Posts: 729
- Joined: Fri 01 Apr, 2005 14:46
- Location: Украина
- Has thanked: 1 time
- Been thanked: 7 times
Re: макрос "Выделить одинаковые файлы на обеих панелях", ver
Ну я пользуюсь Deep Compare для сравнения содержимого панелей по именам/размерам, но он показывает различия и выделяет из двух подкаталогов тот, который больше/новее. А макрос используется для выделения файлов с одинаковыми именами на обеих панелях, т.о. очень удобно, к примеру, обновлять файлы в сборке из архивов плагов .John Doe wrote:А я почему-то пользуюсь для этих целей Advanced compare.
Идея здравая, но реализация не очень . Проще перед перебором перейти по табу на панель с меньшим количеством файлов, если она не активная, использовать старый алгоритм перебора, а потом если был переход по табу вернутся обратно. Текст макроса выложу, если нужно .fibre wrote:я этот макрос чуть видоизменил самым простым способом, который пришёл мне в голову - вначале сравнивается количество элементов на обеих панелях и после этого сравнение идёт по той панели, на которой элементов меньше.
-
- Posts: 1515
- Joined: Wed 16 Mar, 2005 06:26
- Location: Новосибирск
- Been thanked: 1 time
- Contact:
Re: макрос "Выделить одинаковые файлы на обеих панелях", ver
Я тоже пользуюсь advCompare. Но чисто так, для спортивного интереса макрос я переделал. (как обычно, запускать через selmacro: /fs путь к файлу
Ты мне не выкай!
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.
xmpp:kildor@jabber.ru
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.
xmpp:kildor@jabber.ru
- Tim Sobolev
- Posts: 729
- Joined: Fri 01 Apr, 2005 14:46
- Location: Украина
- Has thanked: 1 time
- Been thanked: 7 times
Re: макрос "Выделить одинаковые файлы на обеих панелях", ver
Вот, тоже отличный подход ! В принципе работа с переменными практически не должна влиять на скорость, так что такой подход ещё предпочтительней моего варианта.Kildor wrote:Я тоже пользуюсь advCompare. Но чисто так, для спортивного интереса макрос я переделал.
- John Doe
- Бюрократ
- Posts: 13853
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 428 times
- Contact:
Re: макрос "Выделить одинаковые файлы на обеих панелях", ver
Code: Select all
clip(5)
panel.select(0,1)
CtrlShiftIns
panel.select(1,1,2,clip(0))
Tab CtrlShiftIns Tab
panel.select(0,0)
panel.select(0,1,2,clip(0))
- Kerberos464
- Posts: 1239
- Joined: Wed 29 Jul, 2009 20:24
- Location: Saint-Petersburg
- Has thanked: 19 times
- Been thanked: 1 time
Re: макрос "Выделить одинаковые файлы на обеих панелях", ver
круто! причём быстро работает, спасибо
16.09.2012 14:35:28 +0200 - build 2799 - все нативные плагины перестали работать.
30.09.2012 03:26:20 +0200 - build 2851 - все макросы перестали работать.
31.02.2029 25:61:61 +0200 - build 6666 - весь фар перестал работать.
30.09.2012 03:26:20 +0200 - build 2851 - все макросы перестали работать.
31.02.2029 25:61:61 +0200 - build 6666 - весь фар перестал работать.
- John Doe
- Бюрократ
- Posts: 13853
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 428 times
- Contact:
Re: макрос "Выделить одинаковые файлы на обеих панелях", ver
История началась ещё в теме Пометка файлов на панелях.fibre wrote:в сборке от Tim Sobolev подсмотрел макрос, который сравнивает списки файлов/папок на обеих панелях и выделяет файлы/папки с одинаковыми именами.
-
- Posts: 1515
- Joined: Wed 16 Mar, 2005 06:26
- Location: Новосибирск
- Been thanked: 1 time
- Contact:
Re: макрос "Выделить одинаковые файлы на обеих панелях", ver
Клёва. Хотя я правильно понимаю, что оба подхода не делают разницы между папками и файлами?
Ты мне не выкай!
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.
xmpp:kildor@jabber.ru
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.
xmpp:kildor@jabber.ru
- Tim Sobolev
- Posts: 729
- Joined: Fri 01 Apr, 2005 14:46
- Location: Украина
- Has thanked: 1 time
- Been thanked: 7 times
Re: макрос "Выделить одинаковые файлы на обеих панелях", ver
Отнюдь не айс, портит буфер обмена Оказался не прав .John Doe wrote:
- Kerberos464
- Posts: 1239
- Joined: Wed 29 Jul, 2009 20:24
- Location: Saint-Petersburg
- Has thanked: 19 times
- Been thanked: 1 time
Re: макрос "Выделить одинаковые файлы на обеих панелях", ver
у меня не портит.Tim Sobolev wrote:Отнюдь не айс, портит буфер обмена.
16.09.2012 14:35:28 +0200 - build 2799 - все нативные плагины перестали работать.
30.09.2012 03:26:20 +0200 - build 2851 - все макросы перестали работать.
31.02.2029 25:61:61 +0200 - build 6666 - весь фар перестал работать.
30.09.2012 03:26:20 +0200 - build 2851 - все макросы перестали работать.
31.02.2029 25:61:61 +0200 - build 6666 - весь фар перестал работать.
- zg
- zero-gravity
- Posts: 6035
- Joined: Tue 15 Mar, 2005 17:36
- Location: riga
- Been thanked: 185 times
- Contact:
Re: макрос "Выделить одинаковые файлы на обеих панелях", ver
это не так.Tim Sobolev wrote:Отнюдь не айс, портит буфер обмена.
- John Doe
- Бюрократ
- Posts: 13853
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 428 times
- Contact:
Re: макрос "Выделить одинаковые файлы на обеих панелях", ver
В данном случае это намеренно.Kildor wrote:Клёва. Хотя я правильно понимаю, что оба подхода не делают разницы между папками и файлами?
А как именно предлагается её делать?