Вызов программ командной строки из макроса

Столкнулись с проблемой в использовании макросов? Здесь можно получить помощь.
Post Reply
xeno.by
Posts: 14
Joined: Sun 16 Oct, 2011 19:49

Вызов программ командной строки из макроса

Post by xeno.by »

DAtaMan wrote:Главное, что без YAC обошлись. :)
Спасибо за быстрые ответы, народ! Еще вопрос, несвязанный. Можно ли из макроса вызвать консольный тул и прочитать его результаты в переменную?
Last edited by HaRT on Fri 23 Mar, 2012 19:55, edited 1 time in total.
Reason: Добавлена ссылка на исходную тему
User avatar
SlashNet
Posts: 638
Joined: Fri 20 Mar, 2009 09:43
Location: Львов
Has thanked: 16 times
Been thanked: 16 times

Re: Вызов программ командной строки из макроса

Post by SlashNet »

Я себе на коленке делал такой, который с помощью FarCmds запускал тулзу с выводом в редактор, а оттудова Copy-Paste.
ədиw wo⊥є ʚ o⊥ʎнdəʚədəu əɔʚ
User avatar
SUSim
Posts: 1637
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 26 times

Re: Вызов программ командной строки из макроса

Post by SUSim »

В переменную макроса?
Возврат тузлы, легко положить в клипбоард (FarCmds с префиксами рулит), а из клиборда можешь и в переменную засунуть...

Лучше конкретней вопрос задавать (и в качестве примера тузлы приводить/подбирать что-то общедоступное)... (типа type, dir и т.п.)
SimSU ··· ·· -- ··· ··-
xeno.by
Posts: 14
Joined: Sun 16 Oct, 2011 19:49

Re: Вызов программ командной строки из макроса

Post by xeno.by »

SUSim wrote:В переменную макроса?
Возврат тузлы, легко положить в клипбоард (FarCmds с префиксами рулит), а из клиборда можешь и в переменную засунуть...

Лучше конкретней вопрос задавать (и в качестве примера тузлы приводить/подбирать что-то общедоступное)... (типа type, dir и т.п.)
Если честно, была интересна именно общая концепция, ибо необходимость возникала несколько раз, но я не знал как такое сделать.

Например, есть у меня несколько наборов тестов и хочется переключаться между ними в диалоге фара. Чтобы получить список доступных наборов, я вызываю свой тул. Сейчас он запускается и пишет результаты в реестр, где находятся глобальные переменные макросов фара - уродливо + моргает экран, когда я из макроса запускают свою прожку, но зато работает. clip:<... должен помочь, спасибо!

Или вот второй пример. Хочу сделать автокомплишен кастомных вещей (вроде git branch). Вроде бы в найтли-билдах неофициального продолжения второго фара есть Menu.Show. А у меня уже есть консольная утилитка, которая умеет комплитить некоторые штуки, которыми я пользуюсь. Опять же clip:<... очень сильно поможет - не придется писать свой плагин (или кастомизировать существующие).
AlexII
Posts: 270
Joined: Mon 10 Apr, 2006 00:53
Location: станица Григорополисская
Has thanked: 147 times
Contact:

Re: Вызов программ командной строки из макроса

Post by AlexII »

Самое удобное — использовать плагин: Runner — Выполнить... (странно, что SUSim не стал здесь упоминать про свой плагин), который пишет StdOut и StdErr в предопределённые глобальные переменные в реестр, которые оттуда можно прочитать. Главный плюс — меньше возни с запуском из макроса. У меня раньше было так же как у Вас: запомнить где мы, перейти в панели, заполнить командную строку, добавить перенаправление вывода, добавить запись в реестр, запустить, дождаться окончания выполнения, загрузить глобальную переменную, перейти где были. Теперь с этим гораздо проще.

У меня, кстати, и просьба к автору плагина появилась.
Post Reply

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