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