imho.ws |
|
04.10.2007, 06:24 | # 1 |
Guest
Сообщения: n/a
|
условие на проверку связи с удалённой машиной
Подскажите как реализовать следующее:
Имеется файл, к примеру, xxx.bat с определённым набором команд, которые нужно запустить на удалённых машинах локальной сети. Требуется посредством команд пакетных программ ввести условие на проверку связи с удалённой машиной (в сети ли она в данный момент или нет). Если да, то идёт запуск скрипта. Думаю, можно произвести данную операцию через ping, но вот как - загвоздка? |
04.10.2007, 11:08 | # 2 |
СуперМод
IMHO Консультант 2005-2009 Регистрация: 14.08.2002
Адрес: Московская ПЛ, ракетный отс
Пол: Male
Сообщения: 14 418
|
Код:
ping -n 1 <здесь подставляется переменная с именем либо IP машины> if ERRORLEVEL 1 goto SKIP_MACHINE REM здесь добавляются команды, выполняемые для работающей машины REM (или вызов соответствующего скрипта) :SKIP_MACHINE
__________________
Не засоряйте форум "спасибами"! Для выражения благодарности существуют ПС и репутация! Соблюдайте Правила! Распространенье наше по планете Особенно заметно вдалеке: В общественном парижском туалете Есть надписи на русском языке В. Высоцкий |
05.10.2007, 03:50 | # 3 |
Guest
Сообщения: n/a
|
можно ли посредством пакетного программирования работать с переменной таким образом, как в обычных языках.
К примеру, ip:=1 (знак присваивания) Вроде бы переменная описывается как %ip, но не хочет программа её воспринять! Если быть конкретнее, можно ли реализовать следуюющее: скажем, имеем ip адрес 192.168.0.1, нужно пропинговать следующте 50 адресов (192.168.0.2, 192.168.0.3 ...). Если ping проходит, то выполняются соответствующие команды. Если нет, то переходим на следующий ip? Последний раз редактировалось nyb; 05.10.2007 в 03:52. |
05.10.2007, 10:36 | # 4 |
СуперМод
IMHO Консультант 2005-2009 Регистрация: 14.08.2002
Адрес: Московская ПЛ, ракетный отс
Пол: Male
Сообщения: 14 418
|
nyb, в .cmd-скриптах значение переменной устанавливается командой SET. Подробнее - SET /? в консоли.
Для последовательного перебора IP (или любых других цифровых значений) удобнее воспользоваться конструкцией FOR /L. Например, Код:
FOR /L %%N IN (2,1,254) DO CALL 1.cmd 192.168.0.%%N
__________________
Не засоряйте форум "спасибами"! Для выражения благодарности существуют ПС и репутация! Соблюдайте Правила! Распространенье наше по планете Особенно заметно вдалеке: В общественном парижском туалете Есть надписи на русском языке В. Высоцкий |