Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Сравнение пингов, vbs

Ответить
Настройки темы
VBS/WSH/JS - Сравнение пингов, vbs

Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


Здравствуйте! Подскажите, пожалуйста. Я с vbs первый день знаком Так вот, сколотил скрипт, который пингует два ип адреса, и вычисляет разницу между временем ответа, а потом эти данные передает в текстовый документ. Но есть одно но...он делает один запрос и два ип, и соответственно получаем один результат. А нужно чтобы он непрерывно пинговал, вычитал, и записывал каждое значение в блокнот. Я так понимаю, надо куда то влепить цыкл, но какой и куда? или вообще не цикл?
Вот скрипт :

Код: Выделить весь код
' Создаем объект Shell 
' Объявляем константы

Const wbemFlagForwardOnly = 32
Const wbemFlagReturnImmediately = 16
Const ForWriting = 2

' Функция для записи информации в файл 
Sub TextOut (Text, File)
' Объявляем переменные
Dim objFSO, FOut 
' Создаем объект FileSystemObject
Set objFSO=WScript.CreateObject("Scripting.FileSystemObject")
' Открываем выходной файл для записи
Set FOut = objFSO.OpenTextFile (File,ForWriting,true)
' Записываем текстовую строку в файл
FOut.WriteLine Text
' Закрываем выходной файл
FOut.Close
End Sub

Set Shell = CreateObject("WScript.Shell") 

' Методом EXEC запускаем ping c одним запросом. 
Set ping = Shell.exec("ping -n 1 www.google.com") 
Set ping2 = Shell.exec("ping -n 1 vk.com") 
' Создаем две переменные - в первой находится исходящий поток ping 
' во второй собсвенно время отклика 
Dim answer: answer = "" 
Dim ping_time: ping_time = "" 

Dim answer2: answer2 = "" 
Dim ping_time2: ping_time2 = ""
' Ждем пока завершится ping (пока ping.Status = 0 утилита ping все еще рабоает) 
Do While true 
If ping.status = 0 Then 
WScript.Sleep 1000 
Else 
' После завершения работы ping считываем все, что она нам выдает 
answer = ping.StdOut.ReadAll 
answer2 = ping2.StdOut.ReadAll 
Exit Do 
End if 
Loop 

' Тут начинается самая гадкая часть - работа со строками 
' К тому же виндовая консоль работает в cp866 а скрипты в cp1251, 
' с русским все очень плохо, а как менять кодировку в VBScript я не знаю 

' В переменной answer содержится одна строка, но на самом деле их там много 
' разделенных символом конца строки 
' Вот мы и разбиваем большую строку на массив маленьких 
answer = Split(answer, vbCrLf) 
answer2 = Split(answer2, vbCrLf) 

' четвертый элемент массива answer(3) как раз нужная нам строка 
' Разбиваем ее по пробелам - из полученного массива выбираем 6 элемент 
' это как раз время=XXXмс 
' Дальше обрезаем время= и мс и получем нужную нам переменную ping_time 

ping_time = Split(answer(3), " ")(5) 
ping_time = Mid(ping_time, 7) 
ping_time = Mid(ping_time, 1, Len(ping_time)-2) 

ping_time2 = Split(answer2(3), " ")(5) 
ping_time2 = Mid(ping_time2, 7) 
ping_time2 = Mid(ping_time2, 1, Len(ping_time2)-2) 
resoult=ping_time2-ping_time



' Выводим результат в текстовый файл
TextOut resoult, "C:\111.txt"

Отправлено: 12:41, 08-05-2012

 

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


ZhenyaYa, ответил здесь.

Отправлено: 14:10, 08-05-2012 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Сравнение пингов, vbs

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Проверка пингов и... Performance M Скриптовые языки администрирования Windows 2 30-11-2011 02:38
VBS/WSH/JS - [решено] HTA + VBS | Чем отлаживать VBS в теле HTA vxor Программирование и базы данных 8 10-03-2011 11:17
VBS/WSH/JS - Помогите редактировать Autorun_Disable.vbs на Autorun_Enable.vbs nod201 Скриптовые языки администрирования Windows 0 05-12-2009 05:44
вирус и червь VBS/Small.k,VBS/Small.NAB zelen Лечение систем от вредоносных программ 1 25-12-2008 10:44
Сравнение файлов Guest Программирование и базы данных 6 24-04-2004 04:47




 
Переход