/1commands

Библиотека для упрощения работы c запуском различных приложений и командных файлов (cmd, bat, bash) из oscript.

Primary Language1C EnterpriseOtherNOASSERTION

1commands

GitHub release GitHub Workflow Status Статус Порога Качества Покрытие Технический долг Строки кода

Vanessa open-sourceChat on Telegram vanessa_opensource_chat или oscript_library Chat on Telegram oscript_library - в этих чатах вы можете задавать любые вопросы разработчикам и активным участникам.

Библиотека для упрощения работы c запуском различных приложений и командных файлов (cmd, bat, bash, PowerShell, 1С через vanessa-runner и др.) из oscript.

Позволяет выполнять рутинные операции по запуску приложений и командных файлов системы.

Пример работы:

Команда = Новый Команда;

Команда.УстановитьКоманду("oscript");
Команда.ДобавитьПараметр("-version");

// или сразу Команда.УстановитьСтрокуЗапуска("oscript -version");

КодВозврата = Команда.Исполнить();
Сообщить(КодВозврата);

Сообщить(Команда.ПолучитьВывод());

или запуск командного файла

КомандныйФайл = Новый КомандныйФайл;
КомандныйФайл.Создать();

КомандныйФайл.ДобавитьКоманду("@echo off");
КомандныйФайл.ДобавитьКоманду("oscript -version");

Сообщить(КомандныйФайл.ПолучитьТекстФайла());

КодВозврата = КомандныйФайл.Исполнить();
Сообщить(КодВозврата);

Сообщить(КомандныйФайл.ПолучитьВывод());

или запуск командного файла PowerShell

КомандныйФайл = Новый КомандныйФайл;
КомандныйФайл.УстановитьПриложение("C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe");
КомандныйФайл.Создать("",".ps1");

КомандныйФайл.ДобавитьКоманду("Get-Help");

Сообщить(КомандныйФайл.ПолучитьТекстФайла());

КодВозврата = КомандныйФайл.Исполнить();
Сообщить(КодВозврата);

Сообщить(КомандныйФайл.ПолучитьВывод());

Так же описание функциональности содержится в папке features. В прилагающихся step_definitions можно подсмотреть больше примеров.

FAQ

Вопрос:

при использовании классов Команда/Командный файл происходит зависание выполнения команды. В консоли та же команда выполняется без зависания.

Например, при использовании gitsync. Описание ошибки и расследование

Что делать?

Ответ:

Отключить режим использования немедленного вывода лога команды, использовав метод ПоказыватьВыводНемедленно(Ложь); В этом случае вывод команды будет получен после завершения работы команды, а не во время ее выполнения.