Что нового

прочитать ответ интерпретатора cmd.exe

udaff2011

Новичок
Сообщения
4
Репутация
0
Через поиск не нашел ответ вопроса. :wacko

Очень хочется обработать команду, посылаемую в интрепретатор.

Можно-ли получить хоть последнюю строку "Пакетов: отправлено = 4, получено = 0, потеряно = 4 (100% потерь),". Может можно ответ команды в массив или в переменную загнать?

Запускаю
Код:
C:\Documents and Settings\Admin\Рабочий стол>ping 192.168.1.8

Обмен пакетами с 192.168.1.8 по 32 байт:

Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.

Статистика Ping для 192.168.1.8:
    Пакетов: отправлено = 4, получено = 0, потеряно = 4 (100% потерь),

C:\Documents and Settings\Admin\Рабочий стол>
 

madmasles

Модератор
Глобальный модератор
Сообщения
7 790
Репутация
2 319
udaff2011,
Код:
#include <Constants.au3>
#include <Encoding.au3>

$sRead = ''
$iPID = Run(@ComSpec & ' /C ping google.ru', '', @SW_HIDE, $STDOUT_CHILD)
If Not $iPID Then
	MsgBox(16, 'Error', 'Error')
	Exit
EndIf
While 1
	$sRead &= StdoutRead($iPID)
	If @error Then ExitLoop
	Sleep(10)
WEnd
$sRead = _Encoding_866To1251($sRead)
MsgBox(64, 'Info', $sRead)
$sString = StringRegExpReplace($sRead, '(?s).*?(Пакетов.*?\)),?.*', '$1')
MsgBox(64, 'Info', $sString)
 
Верх