День добрый, уважаемые форумчане!
Требуется помощь FAR-гур.
Ежели что - FAR 3.0 build 4949 x64
Появилась простенькая задачка: пробежаться по всем выделенным папкам и в каждой из них совершить некие манипуляции с содержимым.
Захотелось реализовать через макрос.
Идея такая: записываем макрос, выделяем папки, жмём сочетание клавиш, на которое повешен макрос, макрос входит в папку, выполняет манипуляции, выходит, снимает выделение с папки, переходит к следующей.
Столкнулся с проблемой: после входа-выхода в папку выделение папок слетает.
Пытался сохранять его через Ctrl-Ins перед входом в папку с последующим Ctrl-S после выхода.
Выяснилось, что внутри макроса Ctrl-S то ли не записывается, то ли не срабатывает, работает только по его окончанию.
Возникло 2 вопроса:
1. Можно ли как-то обойти это ограничение (сохранить выделение в текущей папке после входа-выхода в одну из её подпапок)?
2. Можно ли как-то выполнить макрос на всех выделенных папках?
Ну, хотя бы выделить все нужные папки, отсортировать выделенные в конец списка, встать на первую, отработать макрос внутри папки, снять выделение с текущей (если выделение всё-таки удастся сохранить каким-то хитрым способом), перейти к следующей. Как в этой ситуации повторить макрос ровно N раз, где N - число выделенных папок?
Если что-то изложил непонятно, готов прояснить.
Макрос на выделенных папках
- zg
- zero-gravity
- Posts: 6016
- Joined: Tue 15 Mar, 2005 17:36
- Location: riga
- Been thanked: 185 times
- Contact:
Макрос на выделенных папках
потому что нет в фаре такого сочетания как ctrl-s в панелях. у вас там, по видимому, макрос, который по содержимому клипборда выделяет файлы на панели. вот код этого макроса вам и надо использовать в своём.
Макрос на выделенных папках
Манипуляции, которые необходимо совершить с содержимым папки, оформляю в виде .cmd файла, который принимает в качестве аргумента имя папки. В диалоге "Apply command" пишу имя этого файла с завершающим !.! И всё, вроде, работает.
Макрос на выделенных папках
Спасибо всем ответившим!
Действительно Ctrl-S - это стандартный макрос, идущий в дистрибутиве ФАРа: C:\Program Files\Far Manager\Addons\Macros\Panel.SelectFromClipboard.lua
Я об этом обстоятельстве забыл. Даже если перенести его код в созданный мной макрос, то остаётся нерешённой проблема, как заставить макрос отработать только на выделенных папках (может можно как-то проверять внутри макроса, что есть отмеченные папки в панели или запустить макрос на выполнение ровно N раз).
В моём случае остановился на решении через Ctrl-G.
С батником получилось разобраться достаточно быстро, так что этот вариант оказался самым "дешёвым".
Ещё раз спасибо за помощь!
Действительно Ctrl-S - это стандартный макрос, идущий в дистрибутиве ФАРа: C:\Program Files\Far Manager\Addons\Macros\Panel.SelectFromClipboard.lua
Я об этом обстоятельстве забыл. Даже если перенести его код в созданный мной макрос, то остаётся нерешённой проблема, как заставить макрос отработать только на выделенных папках (может можно как-то проверять внутри макроса, что есть отмеченные папки в панели или запустить макрос на выполнение ровно N раз).
В моём случае остановился на решении через Ctrl-G.
С батником получилось разобраться достаточно быстро, так что этот вариант оказался самым "дешёвым".
Ещё раз спасибо за помощь!