Метод run_cmd используется для выполнения команд в командной строке из скрипта. 

Метод run_cmd_timeout используется для выполнения команд в командной строке с заданием таймаута завершения процесса.

При вызове команд окно командной строки не открывается, команды выполняются в скрытом режиме.

Синтаксис обращения к методам:

function run_cmd (cmd: String)
function run_cmd_timeout (cmd: String, timeout: int)

Аргументы методов:

  1. cmd – команда для командной строки.
  2. timeout – только для run_cmd_timeout, таймаут завершения процесса командной строки после выполнения команды. 

Пример 1. Запустить утилиту curl и отправить POST-запрос с текстом "Hello" на тестовый URL https://postman-echo.com/post.

var s = run_cmd("curl --request POST --url https://postman-echo.com/post --data \'Hello\'");
DebugLogString(s);

Пример 2. Отображать загрузку CPU на Графике 1, обновляя информацию по Таймеру 3.

var id = "1"; // идентификатор объекта Графики
var timer_id = "3"; // идентификатор объекта Таймер
slave_id = "DESKTOP-5397BVV"; // идентификатор объекта Компьютер

if (Event.SourceType == "TIMER" && Event.Action == "TRIGGER" && Event.SourceId == timer_id)
{
	var date = Event.GetParam("date");
	var time = Event.GetParam("time");
	var cpu = "for /f \"tokens=2* delims=^,\" %k in ('typeperf \"\\Processor Information(_Total)\\% Processor Time\" -sc 1 ^| findstr \":\"') do echo %k";
	var cpu_usage = run_cmd(cpu);
	var cpu_usage2 = cpu_usage.replace(/\"/g,"");
	var cpu_usage3 = cpu_usage2.replace(/\s/g,"");
	DebugLogString(cpu_usage3);
	DoReactStr("ANALOGCHART",id,"ANALOG_PARAMS","int_obj_id<"+id+">,parent_id<>,slave_id<"+slave_id+">,objid<"+id+">,chan<5>,core_global<1>,text<"+cpu_usage3+">, min_val<0>,max_val<100>,sensor_id<cpu_usage>,time<"+time+">,date<"+date+">");
}
  • No labels