Запуск программ
🔗 Оригинальная страница — Источник данного материала
Запуск программ
Описание
Экшен служит для запуска сторонних программ. Запускать можно как обычные десктопные про граммы (Notepad, WinRar, Paint), так и консольные утилиты (ffmpeg, ImageMagick). Есть возможность передачи параметров запуска.
Как добавить действие в проект?
Через контекстное меню Добавить действие → Свой код → Запуск программы
Либо воспользуйтесь ❗→ умным поиском.
Где это можно применить?
- Чаще всего используется для запуска консольных утилит. Например:
- ❗→ ImageMagick - набор программ (консольных утилит) для чтения и редактирования файлов множества графических форматов (изображений).
- ❗→ FFmpeg - набор свободных библиотек с открытым исходным кодом, которые позволяют записывать, конвертировать и передавать цифровые аудио- и видеозаписи в различных форматах
- запуск скриптов на ❗→ Pythonи других языках программирования.
- Запуск любых других приложений
Как работать с экшеном?
Исполняемый файл
Полный путь к файлу, который надо запустить (кликнув по кнопке “Выбора файлов” (выделена красным квадратом) откроется стандартный диалог поиска файлов на компьютере)
- Если файл по указанному пути не будет найден, то экшен завершится с ошибкой
- Можно использовать ❗→ макросы переменных
- Если каталог выполняемой программы находится в переменной среды PATH, то можно указывать не полный путь к файлу, а только его название (
notepad.exe
илиcalc.exe
)
Параметры запуска
Это дополнительные команды, которые передаются запускаемой программе. У каждой программы свои параметры запуска (можно использовать ❗→ макросы переменных).
- Например запуск нового окна браузера Chrome с URL https://zennolab.com будет выглядеть следующим образом:
- При запуске консольных утилит в данной строке передаются аргументы.
Таймаут
Удобно использовать когда Вы знаете сколько будет выполняться программа. Если вызванная программа не завершит работу после указанного количества секунд, то экшен завершится с ошибкой
Можно указывать дробное значение.
Не показывать окно процесса
При включении данной опции запускаемая программа не будет отображена.
Не ждать завершения работы
При включении этой настройки *Таймаут выполнения будет игнорироваться и экшен не будет ждать пока программа закончит работу.
Записать EXIT CODE
Код возврата с которым завершилась вызываемая программа.
Обычно при нормальном завершении работы программы возвращают 0 (ноль). Если возвращено что-то другое, то, возможно, программа завершилась с ошибк ой. Чтоб понять, что означает тот или иной код, стоит вбить в поиск запрос название_программы exit code код_возврата
, пример - ffmpeg exit code 137
Записать STD OUT
Это стандартный поток вывода. Другими словами, всё что программа пишет в окно консоли (если это не сообщение об ошибке (-ах)) является STD OUT
Пример:
при установке ImageMagick программа добавляет путь к своей папке в переменную среды PATH и уже нет необходимости писать полный путь к исполняемому файлу, можно написать xml magick.exe <тут_аргументы>
. Для демонстрации STD OUT запустим программу с аргументом -usage
(в ответ программа напишет базовую информацию о себе) и перенаправим STD OUT в переменную.
Записать STD ERR
Будет содержать в себе данные, если программа сообщит о какой-либо ошибке.
Пример:
повторим команду из предыдущего пункта, но сделаем ошибку в команде и напишем -usage22
На скриншоте видно, что в STD ERR попал текст ошибки, говорящий что был передан неверный аргумент или их было недостаточно. В то же время и в STD OUT тоже попали данные - программа подсказывает нам как ей правильно пользоваться.
Вы можете повторить команды описанные выше. Для этого надо у становить ImageMagick, после открыть окно консоли (Win+R → вводим cmd.exe → нажимаем Enter
) и в нём вводим команды magick-usage
и magick-usage22
Пример использования
Рассмотрим несколько примеров на основе ImageMagick.
Цель: создать изображение размером 600 на 600 пикселей, со светло голубым фоном, с надписью “ZennoPoster” (синим цветом), шрифт - Arial, размер шрифта - 72. Результат сохраним в файл по пути C:\Users\user\Desktop\result.gif
рядом с шаблоном. Команда будет выглядеть следующим образом (convert - одна из утилит входящих в состав ImageMagick. На Вашем компьютере путь к исполняемому файлу и рабочему столу может отличаться):
C:\Program Files\ImageMagick-7.0.10-Q16\convert.exe -size 600x600 -background lightblue -gravity Center -fill blue -font Arial -pointsize 72 label:ZennoPoster C:\Users\user\Desktop\result.gif
Для подробностей по поводу того или иного аргумента используйте Вашу любимую поисковую систему. Это выходит за рамки данной справки.
Для корректной работы команды в cmd.exe необходимо путь к исполняемому файлу взять в кавычки - "C:\Program Files\ImageMagick-7.0.10-Q16\convert.exe"
Пример №1. ImageMagick Все параметры жёстко прописаны
![]() |
---|
К сожалению все параметры запуска не поместились на скриншот |
После выполнения данного экшена на рабочем столе появится файл result.gif
Пример №2. ImageMagick Параметры переданы в виде переменных
- В данном примере путь к папке с исполняемым файлом был вынесен в ❗→ переменную (например, шаблон может запускаться на разных компьютерах и на каждом может быть свой путь).
- Все параметры тоже были вынесены в переменную (не обязательно было всё сохранять в одну переменную. Можно для каждого аргумента создать свою переменную и перечислить эти переменные в поле Параметры запуска)
- Итоговый файл
result.gif
сохраняется в ту же директорию, в которой находится файл проекта. ({ -Project.Directory- }
- системная п еременная в которой хранится полный путь к директории текущего проекта)
Проект должен быть сохранён на компьютере при использовании переменной { -Project.Directory- }
. Т.к. в противном случае данная переменная будет пустой.
Пример №3. Запуск Python скрипта
Для работы данного примера в системе должен быть установлен Python.
Иногда, при поиске в интернете решения той или иной задачи можно найти скрипты написанные на разных языках программирования, которые делают именно то, что Вам нужно. Можно конечно полностью переписать код скрипта на C# и запустить с помощью экшена ❗→ Свой C# код. Или же запустить скрипт с помощью экшена Запуск программ и воспользоваться результатом его работы. Последний вариант и будет рассмотрен, на основе языка программирования Python.
Есть скрипт по пути C:\ZP\my_sript.py
, на входе принимает два числа и умножает их друг на друга, ответ возвращается в консоль (в Вашем случае скрипт может генерировать изображение, текст; либо это может быть нейросеть, которая разгадывает капчу; в общем что угодно).
- В качестве исполняемого файла указываем
C:\Users\user\AppData\Local\Programs\Python\Python38-32\python.exe
(на Вашем компьютере путь может отличаться). - В параметрах запуска первым делом идёт путь к скрипту (
C:\ZP\my_sript.py
), далее два аргумента (12 11).
- После запуска данного экшена в переменную result запишется результат работы - 132.
Вот как выглядит запуск того же скрипта в cmd.exe