IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> Пинговать компы с помощью JS, Функция ping в JS.
сообщение
Сообщение #1


Бывалый
****

Группа: Пользователи
Сообщений: 318
Пол: Мужской

Репутация: -  0  +


Пришла идея написать прогу на JS, которая пинговала бы компы в сети через параметр а в параметре бы писали бы ип адрес компа.
написал прогу но при запуске она не реагирует.(Может реализация неверна?

Код
function ping(address )
{
var WSHShell = WScript.CreateObject("WScript.Shell");  
strResult = WshShell.Run("ping " + address ,  True);    
return strResult
}


Добавлено через 14 мин.
все вроде верно написано вызываем пинг какого-либо адреса.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






У тебя 2 варианта: либо ты запускаешь WshShell.Run, пишешь результаты пинга в текстовый файл (обычное перенаправление, как если в консоли набрать "ping ip > res.txt"), а потом содержимое файла показываешь, либо запускаешь не Run, а Exec:
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 s = ping("192.168.0.1");
WScript.Echo(s);
Это работает, но появляется черное окошко на время работы ping-а...

Добавлено через 3 мин.
Цитата
все вроде верно написано вызываем пинг какого-либо адреса.
Ничего не верно. Читай доки по Run Method (Windows Script Host). Run не возвращает строку, возвращается целое число...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Бывалый
****

Группа: Пользователи
Сообщений: 318
Пол: Мужской

Репутация: -  0  +


а какой способ проще?



Добавлено через 2 мин.
результат вывелся.. но там абракадабра(((

Добавлено через 42 сек.
ссылка битая(
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Цитата
ссылка битая(
Проверяй свои настройки, я копировал ее из адресной строки. Насчет абракадабры:
Прикрепленное изображение
Я непроверенные решения не выкладываю. Если я написал, что работает - значит работает...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Бывалый
****

Группа: Пользователи
Сообщений: 318
Пол: Мужской

Репутация: -  0  +


а вы знаете как исправить абракадабру?((
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






Я не знаю, что именно ты называешь абракадаброй, я не телепат. Покажи скриншот, что тебе выдает скрипт - посмотрим, что можно сделать.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Бывалый
****

Группа: Пользователи
Сообщений: 318
Пол: Мужской

Репутация: -  0  +


вот что выводит.


Эскизы прикрепленных изображений
Прикрепленное изображение
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Гость






А если запускать
cscript /nologo pin.js
, что будет? В нормальной кодировке пишет?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Бывалый
****

Группа: Пользователи
Сообщений: 318
Пол: Мужской

Репутация: -  0  +


нет. также абракадабра.(((

Добавлено через 7 мин.
на др компах наверное не должно так быть(
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Бывалый
****

Группа: Пользователи
Сообщений: 318
Пол: Мужской

Репутация: -  0  +


а как сделать чтобы айпи я менял не в коде а в параметре?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Гость






Хм... Интересно. А что показывает та же команда ping в консоли? Не абракадабру? Ты чего с кодировками натворил?

Добавлено через 1 мин.
Цитата
а как сделать чтобы айпи я менял не в коде а в параметре?
Я тебе уже 5 раз показывал, как обрабатывается WScript.Arguments... Больше повторять не буду.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Бывалый
****

Группа: Пользователи
Сообщений: 318
Пол: Мужской

Репутация: -  0  +


Я кодировки не менял.

Добавлено через 2 мин.
а где можно менять кодировку?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Бывалый
****

Группа: Пользователи
Сообщений: 318
Пол: Мужской

Репутация: -  0  +


нашел способ про который вы писали

Код
'Функция 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
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


Бывалый
****

Группа: Пользователи
Сообщений: 318
Пол: Мужской

Репутация: -  0  +


вот сделал с помощью 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);
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #15


Гость






Опять за свое... Ты покажи, ЧТО ПЕРЕДАЕШЬ в скрипт. А то непонятно что наворотил, теперь бы еще знать, С ЧЕМ...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #16


Бывалый
****

Группа: Пользователи
Сообщений: 318
Пол: Мужской

Репутация: -  0  +


вот скрин.


Эскизы прикрепленных изображений
Прикрепленное изображение
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #17


Бывалый
****

Группа: Пользователи
Сообщений: 318
Пол: Мужской

Репутация: -  0  +


неужели ни кто не знает?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 31.10.2020 16:04
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name