Передача данных из Windows CMD в Microsoft Jscript


Столкнулся с очередной задачкой: Нужно с помощью Microsoft Jscript получить набор данных о сервере. Опять спотыкаюсь о косяки Windows2008 Server. Ну очень уж неудобно мне работать с ним.

Документацию на MSDN читать - в больничке лечиться. Тупым перебором параметров удалось завести все. Вот оставлю тут небольшую заметку о том, как выполнить что-то в командной строке, а результат выполнения - закинуть в переменную в Jscript.


// Объявим переменную, которая будет содержать команду для cmd.exe
var shellcommand = "dir c:"
// инициализируем shell
var WshShell = WScript.CreateObject("WScript.Shell");
var oExec = WshShell.Exec("%comspec% /c "+shellcommand);
// переменная с результатами
var result = oExec.StdOut.ReadAll();

//Дополнительные плюшки:
//статус выполнения - oExec.Status
WScript.Echo("Status "+oExec.Status);
// если для выполнения процесса нужно много времени - хорошо бы знать его pid - oExec.ProcessID
WScript.Echo("ProcessID "+oExec.ProcessID);
// так получаем код завершения - oExec.ExitCode
WScript.Echo("ExitCode "+oExec.ExitCode);
// так выводим результаты
WScript.Echo("Result: \""+result+"\"");

На сколько я понял переменная result принимает тип string. Не массив это точно. Но MSDN не нашел точной информации, поэтому каждый в праве верить во что ему нужно.

Share Button
(Visited 107 times, 1 visits today)

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.