SysExecServer
SysExecServer (Функции среды, системные функции базы данных) | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Функция производит запуск приложения с параметрами в командной строке на стороне сервера, разбор командной строки не производится. Пользователь должен обладать административными правами для использования этой функции. Также нужно понимать, что запуск с флагом ожидания завершения (второй аргумент) приведет к "зависшей" сессии на сервере, если приложение не будет завершено. Этой функцией следует пользоваться в исключительных обстоятельствах и только когда поведение запускаемого приложения хорошо известно заранее.
Синтаксис
SysExecServer(<Командная строка исполнения (STRING)>,<Не возвращаться до завершения (INT)>=0):<Код, возвращенный приложением (INT)>
Аргументы
<Командная строка исполнения (STRING)>
- Строка с путем к приложению, его наименованием и параметрами исполнения, если необходимо. В данной строке возможно использование следующий шаблонов:Chr(1)+"1"+Chr(1)
-- шаблон будет заменен на полный путь к каталогу БД на сервере без завершающего знака \.Chr(1)+"2"+Chr(1)
-- шаблон будет заменен на полный путь к каталогу Windows на сервере без завершающего знака \.Chr(1)+"3"+Chr(1)
-- шаблон будет заменен на полный путь к каталогу временных файлов на сервере без завершающего знака \.
<Не возвращаться до завершения (INT)>
- (необязательный аргумент) Аргумент задает режим ожидания окончания выполнения приложения. По умолчанию (0), функция не будет ожидать окончания выполнения приложения.
Возвращаемое значение
Возвращает целое число, зависящее от режима исполнения:
- В режиме ожидания окончания исполнения приложения, число соответствует коду, который возвратило приложение при выходе.
- В режиме, когда функция возвращается без ожидания окончания исполнения приложения, число соответствует коду ошибки операционной системы (0 -- приложение запущено без ошибок)
Примеры
//Получение результата исполнения systeminfo.exe в виде текста в файле Temp\res.txt SysExecServer("cmd.exe /c systeminfo.exe >"+chr(1)+"1"+chr(1)+"\Temp\res.txt",1); //Вывод файла в лог (для кириллицы OEM) Message(FileToString("Temp\res.txt",866)); //Удаление файла File.DeleteFile("Temp\res.txt");