Макрос на выделенных папках

Столкнулись с проблемой в использовании Far? Здесь можно получить помощь.
Post Reply
netb0x
Posts: 3
Joined: Fri 17 Nov, 2017 12:55

Макрос на выделенных папках

Post by netb0x »

День добрый, уважаемые форумчане!
Требуется помощь FAR-гур.

Ежели что - FAR 3.0 build 4949 x64

Появилась простенькая задачка: пробежаться по всем выделенным папкам и в каждой из них совершить некие манипуляции с содержимым.

Захотелось реализовать через макрос.
Идея такая: записываем макрос, выделяем папки, жмём сочетание клавиш, на которое повешен макрос, макрос входит в папку, выполняет манипуляции, выходит, снимает выделение с папки, переходит к следующей.

Столкнулся с проблемой: после входа-выхода в папку выделение папок слетает.
Пытался сохранять его через Ctrl-Ins перед входом в папку с последующим Ctrl-S после выхода.
Выяснилось, что внутри макроса Ctrl-S то ли не записывается, то ли не срабатывает, работает только по его окончанию.

Возникло 2 вопроса:
1. Можно ли как-то обойти это ограничение (сохранить выделение в текущей папке после входа-выхода в одну из её подпапок)?

2. Можно ли как-то выполнить макрос на всех выделенных папках?
Ну, хотя бы выделить все нужные папки, отсортировать выделенные в конец списка, встать на первую, отработать макрос внутри папки, снять выделение с текущей (если выделение всё-таки удастся сохранить каким-то хитрым способом), перейти к следующей. Как в этой ситуации повторить макрос ровно N раз, где N - число выделенных папок?

Если что-то изложил непонятно, готов прояснить.
User avatar
zg
zero-gravity
Posts: 6015
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Макрос на выделенных папках

Post by zg »

netb0x wrote: Fri 17 Nov, 2017 13:41Выяснилось, что внутри макроса Ctrl-S то ли не записывается, то ли не срабатывает, работает только по его окончанию.
потому что нет в фаре такого сочетания как ctrl-s в панелях. у вас там, по видимому, макрос, который по содержимому клипборда выделяет файлы на панели. вот код этого макроса вам и надо использовать в своём.
iva
Posts: 128
Joined: Sat 02 Nov, 2013 21:32
Been thanked: 3 times

Макрос на выделенных папках

Post by iva »

Я бы воспользовался Ctrl-G
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Макрос на выделенных папках

Post by John Doe »

И столкнулись бы с той же проблемой, нет?
iva
Posts: 128
Joined: Sat 02 Nov, 2013 21:32
Been thanked: 3 times

Макрос на выделенных папках

Post by iva »

Манипуляции, которые необходимо совершить с содержимым папки, оформляю в виде .cmd файла, который принимает в качестве аргумента имя папки. В диалоге "Apply command" пишу имя этого файла с завершающим !.! И всё, вроде, работает.
netb0x
Posts: 3
Joined: Fri 17 Nov, 2017 12:55

Макрос на выделенных папках

Post by netb0x »

Спасибо всем ответившим!

Действительно Ctrl-S - это стандартный макрос, идущий в дистрибутиве ФАРа: C:\Program Files\Far Manager\Addons\Macros\Panel.SelectFromClipboard.lua
Я об этом обстоятельстве забыл. Даже если перенести его код в созданный мной макрос, то остаётся нерешённой проблема, как заставить макрос отработать только на выделенных папках (может можно как-то проверять внутри макроса, что есть отмеченные папки в панели или запустить макрос на выполнение ровно N раз).

В моём случае остановился на решении через Ctrl-G.
С батником получилось разобраться достаточно быстро, так что этот вариант оказался самым "дешёвым".

Ещё раз спасибо за помощь!
Post Reply

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