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  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы printer-friendly view
View previous topic :: View next topic  
Author Message
Maniacus



Joined: 29 Jul 2025
Posts: 2

Post (Separately) Posted: Tue Jul 29, 2025 18:00    Post subject: Выделить отличные по названию каталоги Reply with quote

Добрый день!

Подскажите пожалуйста как решить задачу с минимальными усилиями (в том числе нагрузкой на дисковую подсистему).

Необходимо выделить в левой части директории которые отсутствуют в правой. Без учета подкатологов, дат и т.п. Только отличные по имени.

Например в директории 111 находится 999 директорий, а в директории 222 есть 980 директорий. Необходимо выделить эту разницу в 19 каталогов и потом руками закинуть (через f5) добавить в каталог 222.

Через синхронизацию - утомительно, идет перебор всего содержимого.
Можно ли тупо выделить разницу в именах каталогов ?
Back to top
View user's profile Send private message
jentoso



Joined: 20 Dec 2007
Posts: 396

Post (Separately) Posted: Tue Jul 29, 2025 18:24    Post subject: Reply with quote

Maniacus
Code:
TOTALCMD#BAR#DATA
cm_SelectAllFolders,cm_CopyNamesToClip,cm_FocusTrg,cm_GoToFirstEntry,cm_ClearAll,cm_LoadSelectionFromClip,cm_CopyNamesToClip,cm_FocusTrg,cm_ClearAll,cm_LoadSelectionFromClip

wcmicons.dll,158
Выделить в обеих панелях одноимённые папки

0
-1


Как по условию в вопросе.
Code:
TOTALCMD#BAR#DATA
cm_SelectAllFolders,cm_CopyNamesToClip,cm_FocusTrg,cm_GoToFirstEntry,cm_ClearAll,cm_LoadSelectionFromClip,cm_CopyNamesToClip,cm_ClearAll,cm_FocusTrg,cm_LoadSelectionFromClip,cm_ExchangeSelection

wcmicons.dll,158
Выделить папки которых нет в другой панели


-1

_________________
TC 11.55 combo, Windows 10 x64


Last edited by jentoso on Tue Jul 29, 2025 18:37; edited 1 time in total
Back to top
View user's profile Send private message
Maniacus



Joined: 29 Jul 2025
Posts: 2

Post (Separately) Posted: Tue Jul 29, 2025 18:30    Post subject: Reply with quote

jentoso
Большое Спасибо !
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10428
Location: Россия, Саратов

Post (Separately) Posted: Tue Jul 29, 2025 18:40    Post subject: Reply with quote

Maniacus
Для "тупо выделить разницу" можно и проще, если в документации TC и материалах форума (пример) немного поискать. Команда cm_CompareDirsWithSubdirs, например (сравнить каталоги с учётом подкаталогов). Файлы, если они тоже есть в этих базовых папках 111 и 222, можно заранее отфильтровать поисковым шаблоном (Атрибуты" — "Каталог" на второй странице поиска). Стандартная функция. А через синхронизацию такое вообще не надо делать, она не для этого.

Полностью цитировать предыдущие сообщения не надо, оверквотинг на форуме запрещён, излишества убраны. К тому же из предложенных выше решений первое требует дополнительных действий (инверсии выделения), а во втором в конце цепочки ошибка (в обработку при инверсии выделения попадают файлы), последняя команда должно быть cm_ExchangeSelFolders, а не cm_ExchangeSelection.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2704

Post (Separately) Posted: Wed Jul 30, 2025 11:14    Post subject: Reply with quote

Avada wrote:
Файлы, если они тоже есть в этих базовых папках 111 и 222, можно заранее отфильтровать поисковым шаблоном

А можно и после команды сравнения cm_CompareDirsWithSubdirs снять выделение с файлов:
Code:
TOTALCMD#BAR#DATA
cm_CompareDirsWithSubdirs,cm_ClearAllFiles,cm_GoToFirstEntry,cm_GoToNextSelected,cm_FocusTrg,cm_ClearAll,cm_FocusTrg

wcmicons.dll,35
Выделить в активной панели папки, которых нет в другой панели
Ред.
В подсказке добавил упоминание про активную панель.


Last edited by sa on Thu Jul 31, 2025 05:16; edited 1 time in total
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10428
Location: Россия, Саратов

Post (Separately) Posted: Wed Jul 30, 2025 13:37    Post subject: Reply with quote

sa
Да, можно и после. А ещё можно по конкретным исходным условиям (когда пользователь знает,в каком каталоге у него лишние подкаталоги и что он с ними дальше будет делать) упростить цепочку, ограничившись, скажем, первыми двумя командами для активной панели без всяких переходов.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2704

Post (Separately) Posted: Wed Jul 30, 2025 15:23    Post subject: Reply with quote

jentoso wrote:
Как по условию в вопросе.

Команду cm_ExchangeSelection лучше заменить ещё и по причине зависимости её работы от настроек TC, а именно от ключа MarkDirectories.
У многих пользователей он равен 0 и кнопка у них будет работать неверно.
Back to top
View user's profile Send private message
jentoso



Joined: 20 Dec 2007
Posts: 396

Post (Separately) Posted: Wed Jul 30, 2025 15:43    Post subject: Reply with quote

Avada
sa
У меня с cm_ExchangeSelFolders выделялось [..] в корне, значит индивидуально для каждого.
_________________
TC 11.55 combo, Windows 10 x64
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2704

Post (Separately) Posted: Wed Jul 30, 2025 17:40    Post subject: Reply with quote

jentoso wrote:
У меня с cm_ExchangeSelFolders выделялось [..] в корне

То есть вы считаете это более значимым, чем эти 2 момента в случае использования команды cm_ExchangeSelection:
1) опасность выделения не только каталогов, но и файлов и
2) отсутствие заключительного инвертирования каталогов при значении ключа MarkDirectories=0?
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10428
Location: Россия, Саратов

Post (Separately) Posted: Wed Jul 30, 2025 18:14    Post subject: Reply with quote

jentoso
В дополнение к предыдущим вопросам — где вы там увидели выделение [..] при cm_ExchangeSelFolders? Я проверял и вижу, что в число выделенных объектов этот элемент не попадает. И что у вас означает "в корне"? В корне чего, если это стандартный элемент любого подкаталога? Диска при определённых настройках? Но и там выделения не вижу. Интересная у вас индивидуальность, хотелось бы разобраться.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2704

Post (Separately) Posted: Wed Jul 30, 2025 18:33    Post subject: Reply with quote

Avada wrote:
Но и там выделения не вижу.

Попробуйте вызвать кнопку из пустой папки.
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10428
Location: Россия, Саратов

Post (Separately) Posted: Wed Jul 30, 2025 19:11    Post subject: Reply with quote

sa
"Не выбран ни один файл", как и следовало ожидать.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
jentoso



Joined: 20 Dec 2007
Posts: 396

Post (Separately) Posted: Wed Jul 30, 2025 21:02    Post subject: Reply with quote

Avada
Выделение видно, но по факту выделено всего 9 папок (активная правая панель), что меня и сбило столку. Был не прав и cm_ExchangeSelFolders применить в кнопке будет корректно, учитывая если помимо папок будут ещё файлы.
 Скрин

У меня используется MarkDirectories=1
А по поводу [..] это имелось ввиду, что конечно не есть верно описано с моей стороны.
Code:
5177="Показывать [..] также и в кор&невом каталоге диска"

_________________
TC 11.55 combo, Windows 10 x64
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2704

Post (Separately) Posted: Wed Jul 30, 2025 23:56    Post subject: Reply with quote

Avada wrote:
где вы там увидели выделение [..] при cm_ExchangeSelFolders?

Похоже, если файлов в головной папке нет, то строка [..] выделяется.
Back to top
View user's profile Send private message
Monarch-LFV



Joined: 22 Jul 2019
Posts: 331

Post (Separately) Posted: Thu Jul 31, 2025 03:36    Post subject: Reply with quote

Еще вариант:

Code:
TOTALCMD#BAR#DATA
cm_SelectAllFolders,cm_CopyNamesToClip,cm_ClearAllFolders,cm_FocusTrg,cm_LoadSelectionFromClip,cm_CopyNamesToClip,cm_ExchangeSelection,cm_ClearAllFiles,cm_FocusTrg,cm_LoadSelectionFromClip,cm_ExchangeSelection,cm_ClearAllFiles

wcmicons.dll,44
Выделить отсутствующие папки в обеих панелях


-1
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  Next
Page 1 of 2

 
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