Позволяет выполнять рутинные операции по запуску приложений и командных файлов системы.
Пример работы:
Команда = Новый Команда;
Команда.УстановитьКоманду("oscript");
Команда.ДобавитьПараметр("-version");
// или сразу Команда.УстановитьСтрокуЗапуска("oscript -version");
КодВозврата = Команда.Исполнить();
Сообщить(КодВозврата);
Сообщить(Команда.ПолучитьВывод());
или запуск командного файла
КомандныйФайл = Новый КомандныйФайл;
КомандныйФайл.Создать();
КомандныйФайл.ДобавитьКоманду("@echo off");
КомандныйФайл.ДобавитьКоманду("oscript -version");
Сообщить(КомандныйФайл.ПолучитьТекстФайла());
КодВозврата = КомандныйФайл.Исполнить();
Сообщить(КодВозврата);
Сообщить(КомандныйФайл.ПолучитьВывод());
или запуск командного файла PowerShell
КомандныйФайл = Новый КомандныйФайл;
КомандныйФайл.УстановитьПриложение("C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe");
КомандныйФайл.Создать("",".ps1");
КомандныйФайл.ДобавитьКоманду("Get-Help");
Сообщить(КомандныйФайл.ПолучитьТекстФайла());
КодВозврата = КомандныйФайл.Исполнить();
Сообщить(КодВозврата);
Сообщить(КомандныйФайл.ПолучитьВывод());
Так же описание функциональности содержится в папке features
. В прилагающихся step_definitions
можно подсмотреть больше примеров.
Вопрос:
при использовании классов Команда/Командный файл происходит зависание выполнения команды. В консоли та же команда выполняется без зависания.
Например, при использовании
gitsync
. Описание ошибки и расследование
Что делать?
Ответ:
Отключить режим использования немедленного вывода лога команды, использовав метод
ПоказыватьВыводНемедленно(Ложь);
В этом случае вывод команды будет получен после завершения работы команды, а не во время ее выполнения.