2014-11-25 3 views
0

В среде IDE я использую VS2010 для написания C++(VS2010 C++) Выполнять команду каждый раз, когда программа запускается?

Я хочу, чтобы выполнить команду cmd C:\utilities\unix\tail.exe -f -n15 $(ProjectDir)Log.txt каждый раз, когда программа я кодирование выполняется внутри IDE. (Эта команда должна открыть консоль для отслеживания изменений, внесенных в файл Log.txt)

Есть способы сделать команду запуска каждый раз, когда программа построена, но я не могу найти способ выполнить команду всякий раз, когда запускается сама программа, даже если она уже построена. Где и как я могу установить такие вещи?

Я пробовал помещать $(TargetPath) & C:\utilities\unix\tail.exe -f -n15 $(ProjectDir)Log.txt в свойства проекта -> Debugging-> Command (TargetPath - полное имя исполняемого файла отладки), но VS читает всю вещь как имя файла и путается.

+0

В итоге я добавил команду в качестве «внешнего инструмента», а затем настроил пользовательский интерфейс, чтобы включить команду рядом с кнопкой запуска. Думаю, этого достаточно! –

ответ

1

Вы можете создать файл run.cmd, например, рядом с файлом vcxproj, который будет содержать:

%1 
C:\utilities\unix\tail.exe -f -n15 %2Log.txt 

, а затем в Properties->Debugging->Command Вы пишете:

$(ProjectDir)\run.cmd 

и Command Arguments Вы пишете:

"$(TargetPath)" "$(ProjectDir)" 

Возможно, у меня есть ошибочные макросы, но вы получаете идею: она выполняет сначала вашу программу, а затем все, что вы хотите.

Edit: К сожалению, это работает только при запуске без отладки (Ctrl + F5), так как в противном случае отладчик пытается присоединить к run.cmd и жалуется, что формат не поддерживается.

+0

В.С. утверждает, что файл непризнан, к сожалению. Хотя это было довольно впечатляюще, я думаю, что VS просто говорит «Command», когда это действительно означает «Debug Executable» –

+0

@Clairvoire Ах, да, потому что отладчик пытается подключиться к 'run.cmd' (см. Мое обновление) –

Смежные вопросы