Четыре вопроса о сцепке команд
Select messages from
# through # FAQ
[/[Print]\]

Total Commander -> Общие вопросы

#1: Четыре вопроса о сцепке команд Author: ВахмуркаLocation: Большая деревня Москва PostPosted: Sun Sep 08, 2013 22:45
    —
Предисловие:
history.txt wrote:
17.02.13 Added: Support for multiple internal (cm_xyz) or user-defined (em_xyz) commands on a single button or start menu command: Separate by a comma, e.g. cm_SelectAll,cm_Copy. Not all commands can be chained this way! (32/64)
1) Попробовал "сцеплять" пользовательские команды - ничего не вышло. Среди них были вполне выполнимые: например, команду "открыть подставку для кофе" сцеплял с командой "закрыть подставку для кофе", обе с помощью внешней утилиты. Вопрос: есть ли у кого опыт успешной сцепки пользовательских (em_xyz) команд?

2) Попробовал сцеплять внутренние команды, чтобы сцепка а) имела какой-то практический смысл; б) работала. Смог только украсть отсюда команды помещения в буфер 8.3-версии имени текущего файла (или выделенных файлов):
Code:
cm_SwitchLongNames,cm_CopyNamesToClip,cm_SwitchLongNames
сам придумал сцепку "быстрый просмотр с комментариями":
Code:
cm_SrcComments,cm_SrcQuickview
и все. Вопрос: есть ли идеи и/или опыт полезных сцепок внутренних команд?

3) После выполнения команды cm_UnloadPlugins плагины выгружаются, но обычно я ее выдаю для перезагрузки (выгрузки и загрузки) плагинов (чаще всего TWinKey). Команды на повторную загрузку всех/любого/конкретного плагина нет, и для повторной загрузки TWinKey приходился входить в любую поддиректорию. Подумалось: а что если после выгрузки всех плагинов выходить из текущей директории в материнскую, а затем вновь входить в исходную? То есть реализовать такую последовательность команд:
Code:
cm_UnloadPlugins,cm_GoToParent,cm_GoToDir
Но по ее исполнении плагины (в частности, TWinKey) не загружаются повторно, даже при ручном и многократном входе/выходе в поддиректории. Приходится перезапускать весь Тотал. Вопрос: почему при ручной смене директории плагин загружается, а при автоматическом - нет?

4) Какова вообще логика сцепки: возможна она или нет? По каким признакам это определяется? (речь прежде всего о внутренних командах, но и о пользовательских тоже)

#2:  Author: FlasherLocation: Москва PostPosted: Sun Sep 08, 2013 23:19
    —
Опыт-то имеется, но всё, как правило, завязано а особых условиях, реализуемых TCFS2 (и др.), в частности блокировка окна в момент активности действий, происходящих в панели, ожидание выполнения команды, окна и т.д.
Новая функция в ТС вряд ли когда-то дорастёт до этих высот.

Для примера:
1) Перейти к предыдущей папке в родительском каталоге: 2002,3303,2054,2003
2) Перейти к следующей папке в родительском каталоге: 2002,3303,2053,2003
Запись короче, но в работе смотрятся невыгодно на фоне аналогов:
1) TCFS2.exe /ef "msg($0B, 0) tcm(2002) tcm(3303) tcm(2054) tcm(2003) tcm(2918) msg($0B, 1) redraw()"
2) TCFS2.exe /ef "msg($0B, 0) tcm(2002) tcm(3303) tcm(2053) tcm(2003) tcm(2918) msg($0B, 1) redraw()"

#3:  Author: sa PostPosted: Mon Sep 09, 2013 14:04
    —
Вахмурка wrote:
2)

Мне нравится связка "Обновить содержимое панели (540) и показывать все файлы (312)".

Или вот (внутренняя с пользовательской):
Снять всё выделение на обеих панелях
Code:
cm_ClearAll,em_SELECTFILESB
где em_SELECTFILESB это
Code:
[[em_SELECTFILESB]
button=
cmd=SELECTFILESBTU *.*
param=%Z
menu=Снять всё выделение на целевой панели

#4: Re: Четыре вопроса о сцепке команд Author: RodnyLocation: Могилёв, Беларусь PostPosted: Tue Sep 10, 2013 20:51
    —
Вахмурка wrote:
Вопрос: есть ли у кого опыт успешной сцепки пользовательских (em_xyz) команд?
Видимо, это этот баг:
history 8.50b3 wrote:
08.09.13 Fixed: Button bar, multiple commands on one button: No working if last command was "em_*" command, contained a ",", and didn't exist (32/64)

#5:  Author: ВахмуркаLocation: Большая деревня Москва PostPosted: Wed Oct 16, 2013 11:41
    —
Еще одна забавная сцепка, украденная отсюда:
Code:
TOTALCMD#BAR#DATA
cm_SrcByDateTime,cm_GoToFirstFile,cm_SrcByName

wcmicons.dll,7
Go to the Newest File

1
-1

#6:  Author: MVVLocation: Ростов-Дон PostPosted: Wed Oct 16, 2013 15:41
    —
Забавная, не более. Как было отмечено, требует двух сортировок и не возвращает исходную сортировку. А если подумать, то при уже включенной сортировке по времени приведет к обратному результату.

#7:  Author: sa PostPosted: Fri Aug 29, 2014 23:30
    —
Вахмурка wrote:
1) Попробовал "сцеплять" пользовательские команды - ничего не вышло.
...
Вопрос: есть ли у кого опыт успешной сцепки пользовательских (em_xyz) команд?

На примере задачи из этой темы попробовал сцепку
Code:
cm_FocusLeft,cm_ClearAll,em_SelHtmJpg,cm_ExchangeSelection,cm_MatchSrc,cm_FocusRight,cm_ClearAll,em_SelJpgHtm,cm_ExchangeSelection
Выделяет в левой панели непарные jp*g, в правой - непарные *htm*.
Используются две пользовательские команды:
em_SelHtmJpg
Code:
SELECTFILES *.*htm*>*.jpg *.jpeg
и em_SelJpgHtm
Code:
SELECTFILES *.jp*g>*.htm *.html *.shtml
Как будто работает.

#8:  Author: ask-rusLocation: Russian Federation PostPosted: Thu Nov 06, 2014 20:21
    —
В em_команде сцепил две em_команды, итог - не работает.
Пишет:
Quote:
---------------------------
Total Commander
---------------------------
Файл не найден!
---------------------------
ОК
---------------------------

#9:  Author: FlasherLocation: Москва PostPosted: Thu Nov 06, 2014 20:34
    —
Подтверждаю (для теста в юзер-команды писал внутренние).

#10:  Author: sa PostPosted: Thu Nov 06, 2014 21:44
    —
ask-rus wrote:
В em_команде сцепил две em_команды

А с одной разве работает?

#11:  Author: FlasherLocation: Москва PostPosted: Thu Nov 06, 2014 21:48
    —
Да, похоже только с кнопок работает, что не есть хорошо.

#12:  Author: sa PostPosted: Thu Nov 06, 2014 22:02
    —
Flasher wrote:
только с кнопок работает

Не только:
Quote:
17.02.13 Added: Support for multiple internal (cm_xyz) or user-defined (em_xyz) commands on a single button or start menu command

А вот сцепка внутренних команд в пользовательских, похоже, действительно работает.

#13:  Author: FlasherLocation: Москва PostPosted: Thu Nov 06, 2014 22:12
    —
sa wrote:
Не только:
Ну, тогда ещё есть рабочие варианты - Избранные каталоги и главное меню.

#14:  Author: sa PostPosted: Thu Nov 06, 2014 22:28
    —
Ещё и командная строка.

#15:  Author: MVVLocation: Ростов-Дон PostPosted: Thu Nov 06, 2014 22:45
    —
Не забодаешься через запятую в комстроке перечислять имена команд? Тут одну - и то долго писать))

#16:  Author: sa PostPosted: Thu Nov 06, 2014 23:07
    —
Есть же Ctrl+V и история командной строки.Very Happy
Если серьёзно, существуют ли ситуации, когда одну команду (внутреннюю или пользовательскую) можно использовать, а сцепку нет?

#17:  Author: FlasherLocation: Москва PostPosted: Thu Nov 06, 2014 23:14
    —
sa wrote:
Если серьёзно, существуют ли ситуации, когда одну команду (внутреннюю или пользовательскую) можно использовать, а сцепку нет?
С учётом того, что в пользовательских командах может быть понапихано, таких ситуаций уйма.

#18:  Author: sa PostPosted: Thu Nov 06, 2014 23:43
    —
Flasher
Уже отметили, что в пользовательской команде сцепка из нескольких внутренних работает.

#19:  Author: FlasherLocation: Москва PostPosted: Fri Nov 07, 2014 00:00
    —
sa
И? Как это относится к моему ответу?

#20:  Author: sa PostPosted: Fri Nov 07, 2014 00:18
    —
Flasher wrote:
И?

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

#21:  Author: FlasherLocation: Москва PostPosted: Fri Nov 07, 2014 00:21
    —
sa
А я пишу про все случаи, когда в сцепке такие команды фигурируют.
Flasher wrote:
...что в пользовательских командах может...

Конкретизируй - сцепку чего с чем?

#22:  Author: sa PostPosted: Fri Nov 07, 2014 00:39
    —
Flasher wrote:
Конкретизируй - сцепку чего с чем?

Quote:
в пользовательской команде сцепка из нескольких внутренних
В em_xyz сцепка из нескольких cm_xyz.

#23:  Author: FlasherLocation: Москва PostPosted: Fri Nov 07, 2014 00:51
    —
Вот это уже конкретика.
Я полагаю, проблемы могут быть ровно те же, что и при сцепке внутренних команд в других условиях.
В т.ч. можно провести аналогию сцепки тех же юзеркоманд с cm_UserMenu1,cm_UserMenu2.

#24:  Author: sa PostPosted: Fri Nov 07, 2014 00:58
    —
И всё-таки: я не про проблемы (их везде хватает), а про принципиальную возможность использования сцепок в различных элементах интерфейса TC.

#25:  Author: FlasherLocation: Москва PostPosted: Fri Nov 07, 2014 01:29
    —
Т.е., другими словами, может ли не запуститься пользовательская команда, совмещающая несколько внутренних, вызванная из какой-то потенциально допустимой части интерфейса?

#26:  Author: sa PostPosted: Fri Nov 07, 2014 01:40
    —
Пошире. Если в какой-то части интерфейса может выполняться внутренняя и/или пользовательская команда, то возможна и сцепка из внутренних и/или пользовательских команд.

#27:  Author: FlasherLocation: Москва PostPosted: Fri Nov 07, 2014 02:12
    —
sa wrote:
в какой-то части интерфейса может выполняться внутренняя и/или пользовательская команда
А в какой части она не может выполняться? Тут есть смысл сразу все потенциальные рассматривать без предусловий.

#28:  Author: sa PostPosted: Fri Nov 07, 2014 02:21
    —
Flasher wrote:
А в какой части она не может выполняться?

Начали с того, что пользовательская не может выполняться внутри пользовательской.

#29:  Author: FlasherLocation: Москва PostPosted: Fri Nov 07, 2014 02:25
    —
Дык это не часть интерфейса. Smile

#30:  Author: sa PostPosted: Fri Nov 07, 2014 03:07
    —
Ну, придумай вместо интерфейса другое слово, теперь то понятно о чём речь.

#31:  Author: sa PostPosted: Fri Nov 07, 2014 18:34
    —
sa wrote:
существуют ли ситуации, когда одну команду (внутреннюю или пользовательскую) можно использовать, а сцепку нет?

Нашёл! В горячих клавишах (секция [Shortcuts] в файле wincmd.ini) TC не даёт использовать сцепку, если первой командой идёт внутренняя. Обойти можно: например, создать пользовательскую команду на основе команды cm_ReloadSelThumbs и подставлять её в строку команд перед внутренней.

#32:  Author: sa PostPosted: Wed Nov 12, 2014 09:32
    —
В подробном режиме панели (Ctrl+F2) для просмотра не помещающихся в колонку имён файлов показалась удобной сцепка команд cm_100Percent,cm_VerticalPanels (Скрыть неактивную панель, Панели одна над другой).
Возврат по сцепке cm_50Percent,cm_VerticalPanels (Установить размеры панелей одинаковыми, Панели одна над другой).

#33:  Author: FlasherLocation: Москва PostPosted: Wed Nov 12, 2014 16:30
    —
sa
А в чём преимущество при отображении 100%-панели в вертикальном режиме над горизонтальным?
И всё же с TCFS2, как выше сказано, это достигается одной свич-кнопкой без морганий, т.ч. простые сцепки тут лучшей альтернативой не станут.

#34:  Author: sa PostPosted: Wed Nov 12, 2014 16:49
    —
Flasher wrote:
А в чём преимущество при отображении 100%-панели в вертикальном режиме над горизонтальным?
Появляется возможность
Quote:
просмотра не помещающихся в колонку имён файлов

Чем сцеплять, дело вкуса. У себя одну кнопку на TCFS2 и сделал.

#35:  Author: FlasherLocation: Москва PostPosted: Wed Nov 12, 2014 16:59
    —
sa wrote:
Появляется возможность
Не вижу разницы. Только панель дисков снизу мешается и всё.

#36:  Author: sa PostPosted: Wed Nov 12, 2014 17:04
    —
Flasher wrote:
Не вижу разницы.

Проверяешь в подробном режиме панели?

#37:  Author: FlasherLocation: Москва PostPosted: Wed Nov 12, 2014 17:20
    —
Да.

#38:  Author: sa PostPosted: Wed Nov 12, 2014 18:07
    —
Flasher
Может, от настроек зависит. У меня в горизонтальном режиме отображается так, а в вертикальном иначе.

#39:  Author: FlasherLocation: Москва PostPosted: Wed Nov 12, 2014 18:57
    —
sa
Похоже, что у тебя стоит птица "Выровнять колонки по ширине панели". Все состояния панели ты для каждого случая можешь сделать хоть разными, хоть одинаковыми, меняя ширину табулятора и сохраняя настройки.

#40:  Author: sa PostPosted: Wed Nov 12, 2014 20:09
    —
Flasher wrote:
Похоже, что у тебя стоит птица "Выровнять колонки по ширине панели".

Именно так. Другой вариант меня не устраивает. Кстати, если не ошибаюсь, такое поведение заложено в TC по умолчанию.

#41:  Author: FlasherLocation: Москва PostPosted: Wed Nov 12, 2014 20:36
    —
Не ошибаешься, и это легко проверяется кнопкой "По умолчанию". Но проблема вмещаемости, как я выше отметил, при этом всё равно не стоит.

#42:  Author: sa PostPosted: Wed Nov 12, 2014 21:24
    —
Flasher wrote:
Все состояния панели ты для каждого случая можешь сделать хоть разными, хоть одинаковыми, меняя ширину табулятора и сохраняя настройки.

Не понял твою мысль, но в моём варианте (с вертикальным режимом без пассивной панели) никакие дополнительные настройки сохранять не требуется.

#43:  Author: FlasherLocation: Москва PostPosted: Wed Nov 12, 2014 21:50
    —
Тебе не требуется, а другим вполне может потребоваться.

#44:  Author: sa PostPosted: Wed Nov 12, 2014 22:15
    —
Вот и славно: будем надеяться, что они, в отличие от меня, разберутся в твоём варианте.

#45:  Author: FlasherLocation: Москва PostPosted: Wed Nov 12, 2014 22:51
    —
Ты что-то путаешь. Никаких вариантов я не предоставлял.
Если ты про использование горизонтального отображения панелей, то в нём и разбираться не нужно. Всё и так будет работать как надо.

#46:  Author: sa PostPosted: Thu Nov 13, 2014 10:28
    —
Flasher wrote:
Всё и так будет работать как надо.

Предложенная сцепка работает так.
Конкретизируй, пожалуйста, что мне предпринять, чтобы всё работало как надо без перехода в режим, когда панели располагаются одна под другой?

#47:  Author: FlasherLocation: Москва PostPosted: Thu Nov 13, 2014 13:31
    —
Зачем? Тебя же не устраивает отключение указанной опции.

#48:  Author: sa PostPosted: Thu Nov 13, 2014 16:28
    —
Flasher wrote:
Тебя же не устраивает отключение указанной опции.

Не устраивает. Я то подумал, что ты рассуждаешь
Flasher wrote:
у тебя стоит птица "Выровнять колонки по ширине панели". Все состояния панели ты для каждого случая можешь сделать
в том числе и про вариант по умолчанию для этой опции. Вариант с отключением интереса не вызывал, его не исследовал.

#49:  Author: FlasherLocation: Москва PostPosted: Thu Nov 13, 2014 19:42
    —
sa wrote:
Я то подумал, что ты рассуждаешь
>>
sa wrote:
будем надеяться, что они ... разберутся в твоём варианте

#50:  Author: sa PostPosted: Thu Nov 13, 2014 20:56
    —
Quote:
в твоём варианте
Здесь слово вариант упоминалось мной в ином контексте – как вариант решения задачи, а не наличия/отсутствия опции, и ты правильно это понял
Flasher wrote:
Никаких вариантов я не предоставлял.
На этом завершаю нашу затянувшуюся беседу, дабы не было соблазна ответить на ещё одну твою реплику.

#51:  Author: sa PostPosted: Sat Nov 15, 2014 11:54
    —
Код упоминавшейся ранее кнопки для переключения между сцепками cm_100Percent(910),cm_VerticalPanels(305) и cm_50Percent(909),cm_VerticalPanels(305):
Code:
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe
/ef "run_item(locktc,1) if(isVerticalPanels, tcm(909), tcm(910)) tcm(305) run_item(locktc,0) redraw"
wcmicons.dll,23
Активная панель: 100 / 50%

0
-1
Требуется утилита TCFS2 и установленный TCFS2Tools.

#52:  Author: ZZZAlexZZZ PostPosted: Tue Nov 18, 2014 01:36
    —
В теме "Четыре вопроса о сцепке команд" уважаемый SA дал код кнопки для переключения между сцепками cm_100Percent(910),cm_VerticalPanels(305) и cm_50Percent(909),cm_VerticalPanels(305).
Если используются две панели выбора дисков, то при курсоре в правой файловой панели и переключении на режим 100% - две панели дисков одна под другой.
Иначе, если курсор в левой файловой панели, то остается одна панель выбора дисков в режиме 100%.
Как привести кнопку к единообразию (одна панель в режиме 100% вне зависимости от положения курсора)?

 !  Avada:
Перенесено по месту основного обсуждения из обсуждения темы "Обмен кнопками".

#53:  Author: FlasherLocation: Москва PostPosted: Tue Nov 18, 2014 02:05
    —
ZZZAlexZZZ
В первую сцепку вставить cm_FocusLeft или 4001.
ZZZAlexZZZ wrote:
если курсор в левой файловой панели, то остается одна панель выбора дисков в режиме 100%.
Почему одна? Просто вторая перемещается в самый низ. Чтобы действительно осталась одна, нужно в каждую сцепку добавить cm_VisTwoDriveButtons или 2903.
Но лучше всё это делать одной кнопкой с проверкой ini через TCFS2, чтобы не наступить на грабли с переключением какого-то из режимов в отдельности.

И почему нельзя было там же спросить (или хотя бы в спецтопике)?

#54:  Author: sa PostPosted: Tue Nov 18, 2014 09:29
    —
ZZZAlexZZZ wrote:
Как привести кнопку к единообразию

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

#55:  Author: FlasherLocation: Москва PostPosted: Tue Nov 18, 2014 11:55
    —
sa wrote:
Упомянутая кнопка сохраняет единообразие: у каждой (верхней и нижней в случае с расположением панелей одна над другой) файловой панели остаётся своя панель дисков
Вопрос был не про кнопку, а сцепки. И кнопка не реализует запрошенное единообразие (наличие только одной панели дисков сверху, если активна правая панель). Я ответил по существу вопроса.
Для TCFS2 это реализуется так:
Code:
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe
/ef "msg($0B, 0) if(isVerticalPanels, tcm(909)+run_item(db3), tcm(910)+run_item(db2)) tcm(305) msg($0B, 1) redraw()"
wcmicons.dll,23
Переключение между 100% вертикальной и 50% горизонтальной панелями


-1
Где в TCFS2.ini после строки db1= ... добавляется
Quote:
db2=tcm(2903), eval(hasDriveBar2), db3 ; Показать одну панель кнопок дисков
db3=tcm(2903), eval(!hasDriveBar2), db2 ; Показать две панели кнопок дисков
и после hasDriveBar=...
Quote:
hasDriveBar2=tcini(Layout, DriveBar2, 1) ; Истина, если 2 панели кнопок дисков в wincmd.ini

#56:  Author: sa PostPosted: Thu Nov 20, 2014 11:59
    —
При использовании режима со скрытой неактивной панелью заметил особенность: клавиша TAB не переключает на скрытую панель при обычном (бок о бок) расположении панелей (в отличие от случая, когда они находятся одна над другой).
Для меня это ещё один повод при скрытии неактивной панели пользоваться видом Панели одна над другой.

#57:  Author: FlasherLocation: Москва PostPosted: Fri Nov 21, 2014 14:18
    —
По мне так это, наоборот, хорошо, когда Tab не уводит фокус в режиме "Проводника".

#58:  Author: sa PostPosted: Fri Nov 21, 2014 16:04
    —
Привычка: даже при невидимой целевой панели нажимаю TAB и, полагая, что уже на ней, Ctrl+D, или Alt+вниз, или Alt+F10 и т.п.

#59:  Author: ZZZAlexZZZ PostPosted: Sun Nov 23, 2014 11:26
    —
to Flasher
Проверил модифицированную кнопку - всё работает как и спрашивалось. Спасибо!

#60:  Author: sa PostPosted: Mon Nov 24, 2014 12:06
    —
Flasher wrote:
Для TCFS2 это реализуется так:

или так (без правки TCFS2.ini):
Code:
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe
/ef "run_item(locktc,1) if(isVerticalPanels, tcm(909)+if(tcini(Layout, DriveBar2, 0), tcm(2903)), tcm(910)+if(tcini(Layout, DriveBar2, 1), tcm(2903))) tcm(305) run_item(locktc,0) redraw"
wcmicons.dll,23
Переключатель: 100% и одна панель выбора дисков / 50% и две панели выбора дисков


-1

#61:  Author: ZZZAlexZZZ PostPosted: Tue Nov 25, 2014 17:04
    —
Кнопка без правки TCFS2.ini также работает. Оставил два варианта Very Happy

#62:  Author: FlasherLocation: Москва PostPosted: Tue Nov 25, 2014 21:09
    —
ZZZAlexZZZ
Я специально сделал вариант с правкой, намекая автору, чтобы тот добавил эти конструкции в ini для дальнейших применений.
Ну, а в скорости ощутимой разницы не наблюдается. Wink

#63:  Author: sa PostPosted: Wed Nov 26, 2014 10:18
    —
Flasher wrote:
Я специально сделал вариант с правкой, намекая автору,

Хорошо, что спустя неделю, не забыл сообщить автору про намёк! Smile

#64:  Author: FlasherLocation: Москва PostPosted: Wed Nov 26, 2014 10:30
    —
sa wrote:
спустя неделю
Тогда бы вышел не намёк, а прямое указание. Логика. Wink

#65:  Author: sa PostPosted: Wed Nov 26, 2014 11:12
    —
Точно! Я совсем забыл, что "до недели" это прямое указание, а "через неделю" – уже намёк.

#66:  Author: AvadaLocation: Россия, Саратов PostPosted: Wed Nov 26, 2014 11:14
    —
sa
Flasher
На этом, полагаю, уточнение терминологии можно закончить. Smile

#67:  Author: sa PostPosted: Wed Nov 26, 2014 17:37
    —
ZZZAlexZZZ wrote:
Оставил два варианта

Возвращаясь к сцепкам в TC.
Если не жалко две кнопки задействовать и не забывать, что делает каждая из них, то можно и без TCFS2 с TCFS2Tools обходиться: достаточно использовать уже упоминавшиеся сцепки 910,305,2903 и 909,305,2903. При этом количество различных переключаемых отображений панелей увеличится с двух до четырёх.

#68: Четыре вопроса о сцепке команд Author: Старый_ЙетиLocation: Ухта PostPosted: Thu Feb 12, 2015 12:09
    —
Глубоко-уважаемые sa, Flesher и все, конечно же, другие.
Никого не хочу обидеть.
Доброго всем дня!
Научите старого, pls
Прочитал ВСЮ эту тему, но никак не могу разобраться
В чем суть: необходимо на кнопку в своем bar'у привесить последовательность (сцепку) внутренних команд Тотала.
Например:
cm_DirBranch
cm_RightCustomView1
cm_RightSortByCol3

Сцепка через "," (как на ваших примерах) в строке "Команда" в "Настройке панеле инструментов" выдает сообщение, что файл не найден.
Пробелы, ; и другие разделители не канают.
Если же каждую команду прицеплять на свою кнопку - такая последовательность работает
т.е., ИМХО, не работатет именно сцепка в (командной) строке, приатаченной к кнопке.
Версия TC 7.03, другой на рабочем месте, увы, не будет
Поскажите, где собаке порыться
Заранее благодарю.

#69:  Author: sa PostPosted: Thu Feb 12, 2015 12:14
    —
Старый_Йети wrote:
Версия TC 7.03

Сцепки появились в TC 8.50…

#70:  Author: FlasherLocation: Москва PostPosted: Thu Feb 12, 2015 13:31
    —
Старый_Йети wrote:
... Flesher и все, конечно же, другие.
Никого не хочу обидеть.
Тогда не помешало бы начать с правильной записи моего ника. Wink

Старый_Йети wrote:
другой на рабочем месте, увы, не будет
Тут можно только раздвинуть руки в стороны. Хотя кто мешает носить ТС на флешке? Если даже это непозволительно, что странно, то возвращаемся к вариантам с TCMC, TCFS2. Но, сразу скажу, что тестировать на старых версиях ТС их здесь никто не будет.

#71:  Author: Старый_ЙетиLocation: Ухта PostPosted: Fri Feb 13, 2015 00:43
    —
Flasher, дикое sorry, невнимательность и старческое зрение... Sad
Флеха с portable не катит, порты закрыты, да и прав администратора на компе нет, лишь пользователь, увы, - корпоративная политика. Борюсь с этими мельницами уже много лет... безрезультатно Sad
Новость для меня печальная.
Пока реализовал через последовательность нажатия кнопочек. А надо бы сию последовательность реализовать посредством одной БОЛЬШОЙ КРАСНОЙ КНОПКИ, дабы любой чайник... ну и т.д.
В скриптах тоже, увы, не силен, могу лишь чуть-чуть модифицировать под свои нужды простейшие.
Я здесь пропишу основную задачу, может кто заинтересуется и великодушно поможет Smile Может, на усмотрение модераторов, выделить в отдельную тему.
К сути проблемы.

Есть набор фотографий, так сказать, природы. Их объединяет одна общая директория, а вот вложенных директорий - как Бог на душу положит. У значительной части (далеко не у всех) есть геопривязка (из exif - долгота и широта).
Стандарта на именА файлов тоже не существует (ну никак не хотят авторы фото ограничиваться видом P1001001.jpg с комментариями, им обязательно подавай переименование файла)
Конечной целья является "посадка" этих фотографий (естессно, имеющих долготу/широту) в ГИС (на основе MapInfo)
Что делаю.
1. Через Ctrl+B читаю все файлы в общей директории
2. Через собственный набор колонок (с exif-плагином) считываю координаты каждой фотографии
3. Выделяю все фото с ненулевой долготой (/широтой - не принципиально, главное что у данной фотографии есть координатная привязка)
4. Все выделенные фотографии с нужным мне набором колонок записываю списком с полными путями в txt-файл
5. ... Дальнейшие танцы с бубнами происходят в ГИС (импорт txt-файла В MapInfo).

Вот, собственно, и всё.
Конечной целью является ОДНА БОЛЬШАЯ КРАСНАЯ КНОПКА в TC, дабы её легко можно было настроить на всех рабочих местах.
Вот и обратился к ЛЮДИ-ДОБРЫЕ-ПОМОГИТЕ
Если кто в силах помочь, буду весьма признателен.
Заранее - ВЕЛИКОЕ СЭНКС!
P.S. Тестирование с вашей божьей помощью беру на себя Smile

#72:  Author: FlasherLocation: Москва PostPosted: Fri Feb 13, 2015 01:52
    —
Старый_Йети wrote:
порты закрыты
Хаб поставить не судьба?
Старый_Йети wrote:
да и прав администратора на компе нет, лишь пользователь, увы
Для чего в данном случае нужны админские права?
Старый_Йети wrote:
4. Все выделенные фотографии с нужным мне набором колонок записываю списком с полными путями в txt-файл
5. ... Дальнейшие танцы с бубнами происходят в ГИС (импорт txt-файла В MapInfo).
Весьма информативно. Все налетели помогать. Smile

Что касается хотя бы TCMC, то ознакомиться с прилагаемым readme или пройтись по здешним примерам из поиска по *TCMC.exe на форуме - дело 5 минут.

#73:  Author: sa PostPosted: Fri Feb 13, 2015 09:37
    —
Старый_Йети
Если имеется возможность пользоваться утилитой Exiftool, то можно соорудить кнопку наподобие такой:
Code:
TOTALCMD#BAR#DATA
%ComSpec% /c ""%COMMANDER_PATH%\Utils\Exiftool\Exiftool.exe"
-r -p "$gpslatitude, $gpslongitude, $gpsdatestamp, $gpstimestamp, $directory/$filename" %P%N > "%O.txt""
%COMMANDER_PATH%\Utils\Exiftool\Exiftool.exe
Создать файл-отчёт с GPS-информацией для файла или всех файлов подкаталога

1
-1


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

Порядок действий.
1. Скачать программу.
2. Переименовать в exiftool.exe и положить в каталог Папка_тотала\Utils\Exiftool\.
3. Для создания кнопки выделить всё, что в разделе "Код". Правой кнопкой мышки -> Копировать. В ТК на панели инструментов правой кнопкой мышки -> Вставить.
4. Указать курсором файл или папку, нажать кнопку.

#74:  Author: Старый_ЙетиLocation: Ухта PostPosted: Fri Feb 13, 2015 11:22
    —
Итак по-порядку.
To Flasher.
Спасибо за ответ.
1. хаб поставить не судьба. "Поставлю - посадят" Smile
2. Админ права - для полноценной работы, а так даже Program Files закрыт для записи, приходится изголяться. Уж не говоря об установках всяких там разных программ и утилит Sad
3. не информативно - кратко. Но добрые люди нашлись! Smile
4. ... в процессе...

To sa
Преогромное!
В сторону ExifTool давно смотрю. Беда, что нет русского перевода. Изучаю, но очень медленно, в свободное от основной работы время. С вашей помощью получится быстрее Smile
Но что-то мне подсказывает, что exiftool меня не совсем устроит. И ваш п.4. В одной и той же папке могут быть фото и с координатной привязкой и без оной. Буду изучать.

Пока вырисовалось "изящное" решение о 5 кнопках. В принципе, меня это устроит. Но хотелось бы одну.

Всем спасибо.

#75:  Author: sa PostPosted: Fri Feb 13, 2015 11:29
    —
Старый_Йети wrote:
могут быть фото и с координатной привязкой и без оной.

В отчёте будут только с оной.
Причём для случая с папкой программа прошерстит и все входящие в неё подпапки.

#76:  Author: Старый_ЙетиLocation: Ухта PostPosted: Fri Feb 13, 2015 13:07
    —
Кста! ПРОВЕРИЛ!
Все работает с ОДНОЙ КНОПКИ!!!
Пока разбираюсь как сюда добавить комменты к файлу из Total'a.
sa огромная уважуха!
P.S. и почему на этом форуме плюсики не ставят Sad

#77:  Author: FlasherLocation: Москва PostPosted: Fri Feb 13, 2015 15:12
    —
Старый_Йети wrote:
хаб поставить не судьба. "Поставлю - посадят"
Интересно - за что?
Старый_Йети wrote:
Админ права - для полноценной работы, а так даже Program Files закрыт для записи, приходится изголяться. Уж не говоря об установках всяких там разных программ и утилит
Я написал о данном случае, а не полноценной работе (у всех свои задачи). Program Files - это повод не скопировать файлы в несистемную папку? Многие программы и утилиты, в т.ч. обсуждаемые на форуме, зачастую устанавливать не требуется.
Старый_Йети wrote:
не информативно - кратко. Но добрые люди нашлись!
Дело не в краткости, а в полноценном решении задачи, включая все пункты, если есть связующие звенья.

#78:  Author: sa PostPosted: Fri Feb 13, 2015 16:45
    —
Старый_Йети wrote:
разбираюсь как сюда добавить комменты к файлу из Total'a.
Вот и минусы полезли.

Другой вариант: c поиском по шаблону. Кнопка с использованием утилиты TCFS2:
Code:
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe /ef "set_ini(`%COMMANDER_PATH%\usercmd.ini`, em_temp, cmd, `LOADSEARCH GPS`) tem(em_temp)
delay(500) eval(send_wait(`{ENTER}`, findwnd(`TFindFile`))) loop(if(findwnd(`TFindFile`)==0, 0, 0*sendmsg(findwnd(`TFindFile`), $104, $30, $1, 1)*delay(1000)+1)) if(findwnd(`TFindFile`)==0,tcm(271,1)+tcm(3302,1)+tcm(2039)+tcm(540,1))"
WCMICONS.DLL,47
Поиск по шаблону "GPS" (с выводом на панель по Alt+0, либо ручками) и копированием набора колонок N1 в файл


-1
Нужно создать шаблон для поиска файлов, где есть координатная привязка.
Здесь он назван GPS и может выглядеть в разделе [searches] файла wincmd.ini примерно так:
Code:
GPS_SearchFor=
GPS_SearchIn=
GPS_SearchText=
GPS_SearchFlags=0|002002000020|||||||||0000|
GPS_plugin=""exif.GPS Latitude.String" != """
Желательно также переназначение на Alt+0 вывода файлов на панель в окне поиска для независимости от раскладки клавиатуры. Это делается путём правки строки 5664 LNG-файла. Например, таким образом, Файлы на панель &0.

Last edited by sa on Fri Feb 20, 2015 15:56; edited 1 time in total

#79:  Author: Старый_ЙетиLocation: Ухта PostPosted: Fri Feb 13, 2015 18:03
    —
Ок, уважаемые. Отвлекли тут меня прошки-помалу.
Буду лопатить в понедельник.
Спасибо за участие!
Всем приятных выходных!

#80:  Author: Старый_ЙетиLocation: Ухта PostPosted: Wed Feb 18, 2015 18:03
    —
To, sa, преогромное спасибо за участие!
Пытаюсь разобраться в последнем варианте.
wincmd.ini и wcmd.lng изменил
Дальше дело НЕ пошло.
Строка %COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe /ef "set_ini(`%COMMANDER_PATH%\usercmd.ini`, em_temp, cmd,
`LOADSEARCH GPS`) tem(em_temp) delay(500) eval(send_wait(`{ENTER}`, findwnd(`TFindFile`))) loop(if(findwnd(`TFindFile`)==0, 0, 0*sendmsg(findwnd(`TFindFile`), $104, $30, $1, 1)*delay(1000)+1)) if(findwnd(`TFindFile`)==0,tcm(271,1)+tcm(3302,1)+tcm(2039)+tcm(540,1))"
ну никак не влезает даже с учетом измененного пути.
Там должно быть не больше 256 символов, как я понял Sad
Засада...
Не имею опыта работы в скриптах, Pyton'ах и пр., другая работа. Треба разжованная кашка. Smile
Ну или остановлюсь на предыдущем варианте.
Спасибо!

#81:  Author: sa PostPosted: Wed Feb 18, 2015 18:24
    —
Старый_Йети wrote:
Там должно быть не больше 256 символов

Видимо, ограничение TC 7.03.
Можно перенести часть строки "Параметры:", например `LOADSEARCH GPS`) tem(em_temp) в строку "Команда:".

#82:  Author: Старый_ЙетиLocation: Ухта PostPosted: Thu Feb 19, 2015 02:17
    —
Flasher, спасибо за внимание.
Program Files - это повод не скопировать файлы в несистемную папку?
- так и делаю, в частности, с Тоталом. Потому что-то еще и сделал.
"Хаб" - это устройство, или я настолько отстал от жизни?
Суть не в моих "капризах" о работе, суть, что есть весьма существенные ограничения на "неположенную" деятельность. Метод убеждения против ИНСТРУКЦИИ не катит.
Объем информации - вроде как меня поняли, стоит ли еще раз очень подробно расписывать о постановке задачи.

sa, спасибо за информацию. Обязательно воспользуюсь советом. Попробую.

Л.О. Пользую Тотал уже давно (ох и не буду говорить сколько там годиков и с каких версий начинал...), но так глубоко в скрипты не влезал. Пытался все поставленные задачи решить найденными на просторах Инета утилитками. Сейчас уже давно решаю совсем другие задачи. Посему - достаточно "туп" в скриптовым программировании, да и, честно говоря, времени на изучение сего направления не предвидится.
Весьма благодарен урокам.

#83:  Author: FlasherLocation: Москва PostPosted: Thu Feb 19, 2015 02:27
    —
Старый_Йети wrote:
- так и делаю, в частности, с Тоталом. Потому что-то еще и сделал.
Так а в чём проблема современную версию создать таким же образом, раз копирование никто не запрещает?
Старый_Йети wrote:
"Хаб" - это устройство, или я настолько отстал от жизни?
Хаб - это разветвитель (в данном случае - USB), плюс к этому может быть усилителем, если прилагается адаптер. Какие тут могут быть запреты? Это всё глупости.
Старый_Йети wrote:
Метод убеждения против ИНСТРУКЦИИ не катит.
Скиньте инструкцию, хоть вместо посмеёмся. )
Старый_Йети wrote:
Объем информации - вроде как меня поняли, стоит ли еще раз очень подробно расписывать о постановке задачи.
Не вижу там рекурсивного прохода по папкам и этого - "импорт txt-файла В MapInfo". Или "лишь бы как" вполне устраивает?

#84:  Author: Старый_ЙетиLocation: Ухта PostPosted: Fri Feb 20, 2015 11:26
    —
Flasher, так и думал, что именно про них и разговоры. USB порты ЗАКРЫТЫ и под полным контролем. Чужим... И не смешно Sad
Поставить нелицензионную версию Тотала - себе дороже - внимательно бдят, слава Седому, что хоть эту (7.03) пробил. Обновения не предвидится
Инструкций много, не для этого форума. "И не смешно Sad "
"Не вижу там рекурсивного прохода по папкам" - это в последних скриптах от sa? В моей комбинации с кучей кнопок я это делал. Но надо бы сделать для "полного чайника".
Кстати, один из вариантов от sa все вложенные папки просматривает, это есть.
Пока разбираюсь с предложенным варантом от sa. Но уже ПОСЛЕ празников!
Кстати, ВСЕХ С НАСТУПАЮЩИМ! УСПЕХОВ В РАТНОМ ДЕЛЕ НА ПОЛЯХ БИТВЫ ЗА TOTAL!

#85:  Author: AvadaLocation: Россия, Саратов PostPosted: Fri Feb 20, 2015 11:39
    —
Старый_Йети wrote:
Поставить нелицензионную версию Тотала - себе дороже - внимательно бдят, слава Седому, что хоть эту (7.03) пробил. Обновения не предвидится

В порядке оффтопа: либо версия лицензионная (при любом номере), либо нелицензионная (опять же любом номере). Подход тех, кто бдит, тут должен быть един. А речь об этом веду потому, что после выхода 7.03 слишком многое изменилось, и нет гарантии, что решения, предлагаемые для современных версий, будут полностью приемлемы для старых.

 !  Avada:
Почему-то после моего поста ещё раз продублировался предыдущий. Разумеется, удалил.

#86:  Author: FlasherLocation: Москва PostPosted: Fri Feb 20, 2015 15:22
    —
Старый_Йети wrote:
USB порты ЗАКРЫТЫ и под полным контролем. Чужим... И не смешно
Да, грустно. Я подумал, что они заняты...
Старый_Йети wrote:
это в последних скриптах от sa?
Это никакие не скрипты, это кнопки с командами к утилите.
Старый_Йети wrote:
Поставить нелицензионную версию Тотала - себе дороже - внимательно бдят
Ну, кто там будет бдить, если настроить TC целиком портабельно? Или там за запущенными процессами в режиме онлайн следят? И как правильно отмечено, никакой проблемы с неварезной лицензией быть не может. Почитать об этом хотя бы справку никто не запрещает.
Старый_Йети wrote:
Кстати, один из вариантов от sa все вложенные папки просматривает, это есть.
Это совсем другое. Рекурсия - это обработка внутри структуры папок, а не вывод их содержимого на панель.

#87:  Author: sa PostPosted: Fri Feb 20, 2015 15:57
    —
Старый_Йети wrote:
Пока разбираюсь с предложенным варантом

Подправил кнопку, как советовал до этого. У меня на TC 7.03 она работает.

#88:  Author: MEN PostPosted: Mon Apr 16, 2018 02:23
    —
Подскажите пожалуйста, очень нужно сделать кнопку чтобы запускалась программа и одновременно открывалась папка с этой же программой в окне тотала, что-то не получается. total 9.12

#89:  Author: FlasherLocation: Москва PostPosted: Mon Apr 16, 2018 02:59
    —
MEN
Перейти к самому файлу + Enter:
Code:
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe /ef "tcd(`%WinDir%\system32\notepad.exe\:`,,S) tcm(312,0) tcm(1001)"
Либо делать em_ и склеивать, как тут в самом начале разбиралось.

#90:  Author: AvadaLocation: Россия, Саратов PostPosted: Mon Apr 16, 2018 07:14
    —
MEN
Вам ответили и на ру-борде. Не имейте привычки спрашивать одновременно одно и то же на разных форумах, не дождавшись где-то ответа на достаточно элементарный вопрос. Вместо его задавания достаточно было прочитать текущую тему и доступную документацию TC. И правила форума, разумеется.



Total Commander -> Общие вопросы


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Page 1 of 1

Powered by phpBB © 2001, 2005 phpBB Group