Реализация макроса с переходом из окна в окно и копированием

Столкнулись с проблемой в использовании макросов? Здесь можно получить помощь.
Post Reply
Fireman
Posts: 15
Joined: Fri 19 Sep, 2008 11:23

Реализация макроса с переходом из окна в окно и копированием

Post by Fireman »

Приветствую

Стоит следующая задача:

в левом окне Far нужно
1. зайти в папку указанную пользователем
2. вызвать из нее newfolder.bat
3. зайти в папку находящуюся в буфере обмена
4. скопировать их правого окна файо выбранный пользователем

Подскажите как это реализовать!

Я сделал следующее
<перейти в левое окно>
cd !?папка?!
newfolder.bat
cd <буфер обмена>
move /Y "!\!.!" <текущая папка левого окна>

То что указано в <> я не знаю как реализовать, подскажите PLZ
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Re: Реализация макроса с переходом из окна в окно и копированием

Post by DrKnS »

Fireman wrote:<перейти в левое окно>
CtrlF2 CtrlF2
cd <буфер обмена>
Раздел справки "Командная строка".
move /Y "!\!.!" <текущая папка левого окна>
Раздел справки "Метасимволы".
Fireman
Posts: 15
Joined: Fri 19 Sep, 2008 11:23

Re: Реализация макроса с переходом из окна в окно и копированием

Post by Fireman »

DrKnS wrote:CtrlF2 CtrlF2
Это так в код и вбивать? Т.е.

CtrlF2 CtrlF2
cd ...

и т.д.
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Re: Реализация макроса с переходом из окна в окно и копированием

Post by DrKnS »

macro:post CtrlF2 CtrlF2
Fireman
Posts: 15
Joined: Fri 19 Sep, 2008 11:23

Re: Реализация макроса с переходом из окна в окно и копированием

Post by Fireman »

macro:post CtrlF2 CtrlF2
cd !?Путь?!

почему то не сработал
т.е. cd сработал в правом окне, а не влевом, хотя без cd переход в левую папку был
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Re: Реализация макроса с переходом из окна в окно и копированием

Post by HaRT »

Fireman
Когда что-то программируешь, пусть даже очень простое, обязательно надо разбираться в том, что конкретно делает каждая команда. Без этого правильный результат может получиться только по счастливому стечению случайных обстоятельств.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Fireman
Posts: 15
Joined: Fri 19 Sep, 2008 11:23

Re: Реализация макроса с переходом из окна в окно и копированием

Post by Fireman »

Я делаю CtrlF2 CtrlF2
потом делаю cd путь

все работает замечательно

забиваю тоже в меню
cd срабатывает на правой а не левой закладке

что изменилось от того что я сделал это не руками а забил в виде команд? по идее должно работать ТАК ЖЕ
Почему же сработало по другому?
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Re: Реализация макроса с переходом из окна в окно и копированием

Post by HaRT »

Fireman wrote:Почему же сработало по другому?
Потому что макрос, запущенный из User menu, выполняется только тогда, когда пользовательский интерфейс Фара снова получит управление.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Re: Реализация макроса с переходом из окна в окно и копированием

Post by DrKnS »

Fireman wrote:Почему же сработало по другому?
Потому что дизайн такой. Макрос ставится в очередь и выполняется после обработки всего меню.

Можете разбить меню на два пункта - один, вспомогательный, будет делать CtrlF2 CtrlF2.
Второй, основной, будет вызывать макросом первый и делать остальное. Так сработает.

Или делайте всё на макросах, без меню - см. APanel.Left, prompt, panel.setpath, APanel.Path, IClip.
Fireman
Posts: 15
Joined: Fri 19 Sep, 2008 11:23

Re: Реализация макроса с переходом из окна в окно и копированием

Post by Fireman »

Все через макросы выглядит как-то предпочтительнее на мой взгляд
Если что-то изменять придется - то гораздо удобнее
Fireman
Posts: 15
Joined: Fri 19 Sep, 2008 11:23

Re: Реализация макроса с переходом из окна в окно и копированием

Post by Fireman »

DrKns
а как правильно будет записать panel.SetPath(0, "C:\\")
что надо прописать перед этой строкой (по аналогии с macro:post) чтобы она выполнилась?
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Re: Реализация макроса с переходом из окна в окно и копированием

Post by DrKnS »

Почитайте подфорум "Обсуждение макросов", там много примеров.
Post Reply

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