|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Сравнение пингов, vbs |
|
VBS/WSH/JS - Сравнение пингов, vbs
|
Новый участник Сообщения: 3 |
Профиль | Отправить 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
|
Профиль | Отправить PM | Цитировать ZhenyaYa, ответил здесь.
|
Отправлено: 14:10, 08-05-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
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 |
|