Вызвать элемент из UserMenu для использования в CtrlG

Столкнулись с проблемой в использовании Far? Здесь можно получить помощь.
Post Reply
Volodya
Posts: 322
Joined: Thu 31 Mar, 2005 19:41
Has thanked: 71 times
Been thanked: 2 times

Вызвать элемент из UserMenu для использования в CtrlG

Post by Volodya »

Имеется программа, которая принимает в качестве параметра имя файла. Есть пункт в UserMenu, который запускает эту программу длинным списком дополнительных параметров. Надо запустить эту программу для ряда выделенных файлов. Как в строку для CtrlG (Apply command) вставить пункт из UserMenu?
Альтернативное решение - написать макрос, который перебирает выделенные файлы и для каждого файла вызывать строку из UserMenu. Как в макросе получить команду из UserMenu по последовательности типа F2 <первая буква> <вторая буква> (для пункта в меню второго уровня)?
Shmuel
Posts: 7173
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 48 times
Been thanked: 621 times

Вызвать элемент из UserMenu для использования в CtrlG

Post by Shmuel »

Volodya wrote: Thu 08 Jan, 2026 05:13 Как в макросе получить команду из UserMenu
Если написан подобный макрос, то нет надобности из него обращаться к UserMenu, команду с параметрами можно формировать и запускать прямо из макроса.
Volodya
Posts: 322
Joined: Thu 31 Mar, 2005 19:41
Has thanked: 71 times
Been thanked: 2 times

Вызвать элемент из UserMenu для использования в CtrlG

Post by Volodya »

Это не очень удобно. Команда длинная и при таком подходе для каждой программы (или набора параметров) надо писать свой макрос. Хотелось бы передавать в этот макрос что-то типа F2 V W или F2 S (путь к требуемому пункту меню).
Shmuel
Posts: 7173
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 48 times
Been thanked: 621 times

Вызвать элемент из UserMenu для использования в CtrlG

Post by Shmuel »

Volodya wrote: Thu 08 Jan, 2026 09:09 Хотелось бы передавать в этот макрос что-то типа F2 V W или F2 S (путь к требуемому пункту меню).
И в чём проблема вызвать из макроса Keys("F2 V W")?
User avatar
BarD
Posts: 74
Joined: Mon 19 Jan, 2015 11:09
Has thanked: 12 times
Been thanked: 5 times

Вызвать элемент из UserMenu для использования в CtrlG

Post by BarD »

Volodya, попробуйте переписать свой пункт UserMenu через цикл:

Code: Select all

@for %a in (!&) do @("C:\Full\Path\To\program.exe" -param1 -param2 "%~fa")
Если нет выделения выполнит команду для текущего файла, а если выделены несколько файлов, то для каждого из них.
Last edited by BarD on Thu 08 Jan, 2026 15:11, edited 1 time in total.
Post Reply

Return to “Нужна помощь”