![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() |
dron4ik |
![]()
Сообщение
#1
|
![]() Бывалый ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 318 Пол: Мужской Репутация: ![]() ![]() ![]() |
Пришла идея написать прогу на JS, которая пинговала бы компы в сети через параметр а в параметре бы писали бы ип адрес компа.
написал прогу но при запуске она не реагирует.(Может реализация неверна? Код function ping(address ) { var WSHShell = WScript.CreateObject("WScript.Shell"); strResult = WshShell.Run("ping " + address , True); return strResult } Добавлено через 14 мин. все вроде верно написано вызываем пинг какого-либо адреса. |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
У тебя 2 варианта: либо ты запускаешь WshShell.Run, пишешь результаты пинга в текстовый файл (обычное перенаправление, как если в консоли набрать "ping ip > res.txt"), а потом содержимое файла показываешь, либо запускаешь не Run, а Exec:
function ping(address)Это работает, но появляется черное окошко на время работы ping-а... Добавлено через 3 мин. Цитата все вроде верно написано вызываем пинг какого-либо адреса. Ничего не верно. Читай доки по Run Method (Windows Script Host). Run не возвращает строку, возвращается целое число... |
dron4ik |
![]()
Сообщение
#3
|
![]() Бывалый ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 318 Пол: Мужской Репутация: ![]() ![]() ![]() |
а какой способ проще?
Добавлено через 2 мин. результат вывелся.. но там абракадабра((( Добавлено через 42 сек. ссылка битая( |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
|
dron4ik |
![]()
Сообщение
#5
|
![]() Бывалый ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 318 Пол: Мужской Репутация: ![]() ![]() ![]() |
а вы знаете как исправить абракадабру?((
|
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Я не знаю, что именно ты называешь абракадаброй, я не телепат. Покажи скриншот, что тебе выдает скрипт - посмотрим, что можно сделать.
|
dron4ik |
![]()
Сообщение
#7
|
![]() Бывалый ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 318 Пол: Мужской Репутация: ![]() ![]() ![]() |
вот что выводит.
Эскизы прикрепленных изображений ![]() |
volvo |
![]()
Сообщение
#8
|
Гость ![]() |
А если запускать
cscript /nologo pin.js |
dron4ik |
![]()
Сообщение
#9
|
![]() Бывалый ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 318 Пол: Мужской Репутация: ![]() ![]() ![]() |
нет. также абракадабра.(((
Добавлено через 7 мин. на др компах наверное не должно так быть( |
dron4ik |
![]()
Сообщение
#10
|
![]() Бывалый ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 318 Пол: Мужской Репутация: ![]() ![]() ![]() |
а как сделать чтобы айпи я менял не в коде а в параметре?
|
volvo |
![]()
Сообщение
#11
|
Гость ![]() |
Хм... Интересно. А что показывает та же команда ping в консоли? Не абракадабру? Ты чего с кодировками натворил?
Добавлено через 1 мин. Цитата а как сделать чтобы айпи я менял не в коде а в параметре? Я тебе уже 5 раз показывал, как обрабатывается WScript.Arguments... Больше повторять не буду. |
dron4ik |
![]()
Сообщение
#12
|
![]() Бывалый ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 318 Пол: Мужской Репутация: ![]() ![]() ![]() |
Я кодировки не менял.
Добавлено через 2 мин. а где можно менять кодировку? |
dron4ik |
![]()
Сообщение
#13
|
![]() Бывалый ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 318 Пол: Мужской Репутация: ![]() ![]() ![]() |
нашел способ про который вы писали
Код 'Функция Alive() получает имя компьютера в локальной сети (или ip-адрес) и 'возвращает True, если компьютер пингуется, и False в противном случае Function Alive(ByVal strHost) Const SYSTEM_FOLDER = 1, TEMP_FOLDER = 2 ' константы FileSystemObject Set objFSO = CreateObject("Scripting.FileSystemObject") With objFSO Do 'генерация пути к временному файлу: КаталогВременныхФайлов\ИмяВременногоФайла strTempFile = .BuildPath(.GetSpecialFolder(TEMP_FOLDER), .GetTempName) 'если такой файл существует, продолжаем попытки генерации пути: Loop While .FileExists(strTempFile) 'составим командную строку вызова ping с перенаправлением во временный файл 'cmd.exe завершить после исполнения (параметр /c) 'число запросов для ping - один (параметр -n 1) strCmdLine = .BuildPath(.GetSpecialFolder(SYSTEM_FOLDER), "cmd.exe") _ & " /c " & .BuildPath(.GetSpecialFolder(SYSTEM_FOLDER), "ping.exe") _ & " -n 1 " & strHost & " > " & strTempFile End With 'запускаем ping синхронно, в скрытом окне CreateObject("Wscript.Shell").Run strCmdLine, 0, True 'паттерн регулярного выражения для анализа вывода ping Set objRE = CreateObject("VBScript.RegExp") 'маска _XXX.XXX.XXX.XXX:_, где "X" - любое число, причём в каждой группе может быть 'от 1 до 3 цифр, а "_" - пробел (т.е. паттерн соответствует любому валидному IP-адресу, 'который может появиться в выводе команды ping) 'предполагается, что если в выводе ping будет присутствовать какой-то IP-адрес, это 'будет означать, что ping прошёл успешно, иначе - что удалённый компьютер не отвечает; 'примечание: при неудачном ping'е в выводе команды в принципе может присутствовать 'IP-адрес, но чаще всего он не будет содержать двоеточия и пробела в конце; 'для верности необходимо проверить также наличие строки "TTL=" в выводе objRE.Pattern = " [0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}: [\s\S]*TTL=" 'открытие временного файла, содержащего вывод команды ping Set objTS = objFSO.OpenTextFile(strTempFile, 1) 'функция возвращает результат проверки паттерна Alive = objRE.Test(objTS.ReadAll) 'закрытие и удаление временного файла objTS.Close objFSO.DeleteFile strTempFile End Function |
dron4ik |
![]()
Сообщение
#14
|
![]() Бывалый ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 318 Пол: Мужской Репутация: ![]() ![]() ![]() |
вот сделал с помощью WScript.Arguments...но у меня айпишник не правильно отображается помогите разобраться((
Добавлено через 1 мин. Код function ping(address) { var WshShell = WScript.CreateObject("WScript.Shell"); var objExec = WshShell.Exec("%comspec% /c ping " + address); var outBuffer = objExec.StdOut.ReadAll(); return outBuffer; } var first = WScript.Arguments(0); var create_parameters = first.split("."); var last_bs = create_parameters[0].lastIndexOf(".") + 1; var branch_name = create_parameters[0]; var key_name = create_parameters[0].substr(last_bs, create_parameters[0].length - last_bs); var branch_name= ping(branch_name+ "",create_parameters[1]); WScript.Echo(branch_name); |
volvo |
![]()
Сообщение
#15
|
Гость ![]() |
Опять за свое... Ты покажи, ЧТО ПЕРЕДАЕШЬ в скрипт. А то непонятно что наворотил, теперь бы еще знать, С ЧЕМ...
|
dron4ik |
![]()
Сообщение
#16
|
![]() Бывалый ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 318 Пол: Мужской Репутация: ![]() ![]() ![]() |
вот скрин.
Эскизы прикрепленных изображений ![]() |
dron4ik |
![]()
Сообщение
#17
|
![]() Бывалый ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 318 Пол: Мужской Репутация: ![]() ![]() ![]() |
неужели ни кто не знает?
|
![]() ![]() |
![]() |
Текстовая версия | 16.08.2025 2:36 |