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

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

Ответить
Настройки темы
CMD/BAT - Помогите создать батник для проверки пинга и удаленного подключения

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


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

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


Задача такая:
Нужен батник, который бы проверял пинг удаленного компа, если пинг есть - то запуск подключения default.rdp если пинга нет - то повтор всей процедуры.
Пробовал сделать так:
:m1
ping айпишник /l 32 /n 3
if errorlevel 0 start notepad.exe (к примеру)
if errorlevel 1 goto m1
но не работает, блокнот запускается в любом случае, хоть есть пинг хоть нет.

Отправлено: 15:28, 08-11-2010

 

Ветеран


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

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


Примерно так:
Код: Выделить весь код
@echo off
setlocal

set sAddress=%~1

if not defined sAddress exit /b 1

:Repeat
	ping.exe -n 1 -w 500 "%sAddress%" >nul && (start "" mstsc.exe "%UserProfile%\Мои документы\Default.rdp" & exit /b 0)
	goto :Repeat
P.S. Почему именно «Default.rdp», а не имя/адрес пингуемой машины+параметры «mstsc.exe»?
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:14, 08-11-2010 | #2



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

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


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


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

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


Э... Как-то даже в голову не пришло. А как это будет выглядеть в таком случае? Пароль сохранять не нужно, айпи и логин только.
Все оказалось гораздо сложнее чем я думал. Собственно где айпи-то прописывать?

Последний раз редактировалось mankiz, 08-11-2010 в 18:31.


Отправлено: 17:21, 08-11-2010 | #3


Ветеран


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

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


Документация:

Например, так:
Код: Выделить весь код
ping.exe -n 1 -w 500 "%sAddress%" >nul && (start "" "%systemroot%\system32\mstsc.exe" /v:"%sAddress%" /fullscreen /console & exit /b 0)
и можно сразу после неё и перед «goto :Repeat» добавить:
Код: Выделить весь код
<nul set /p sTemp=.
для визуализации.


С логином хуже; мне неизвестен способ задать имя пользователя через командную строку. Только *.rdp. Ну, или попробовать такую заглушку: Launch RDP from commandline | Remko Weijnen's Blog (Remko's Blog) (сам я не пробовал — без надобности).

читать дальше »
Поскольку мне не нужны разные имена в терминале, я просто прикрутил в Far Manager'е в User Menu, в подменю, среди прочих сетевых свистелок и перделок утилит такой пункт:
Код: Выделить весь код
:  Remote Desktop on [!.!]
    "%systemroot%\system32\ping.exe" -n 1 -w 500 "!.!" >nul && "%systemroot%\system32\mstsc.exe" /v:!.! /fullscreen /console
и вызываю его, установив курсор на имени машины в плагине «Network».


Цитата mankiz:
Собственно где айпи-то прописывать? »
В командной строке при вызове пакетного файла, например:
Код: Выделить весь код
CallTerminal.cmd MyServer
или:
Код: Выделить весь код
CallTerminal.cmd 192.168.100.100

Отправлено: 18:37, 08-11-2010 | #4


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


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

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


Вот так все заработало:
@echo off
set sAddress=192.168.xx.xx
if not defined sAddress exit /b 1
:Repeat
ping.exe "%sAddress%" && (start "" mstsc.exe "%UserProfile%\Documents\Default.rdp" & exit /b 0)
goto :Repeat

Спасибо за помощь.

Отправлено: 07:28, 09-11-2010 | #5


Ветеран


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

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


mankiz, в случае непосредственного задания имени/адреса в пакетном файле — как это сделали Вы, строка:
Код: Выделить весь код
if not defined sAddress exit /b 1
становится лишней. Её можно вообще удалить.

Последний раз редактировалось Iska, 09-11-2010 в 11:33.


Отправлено: 11:02, 09-11-2010 | #6


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


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

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


Благодарю за уточнение.

Отправлено: 07:46, 10-11-2010 | #7


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


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

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


Поторопился отметить "Решено". В случае если пинг есть, все работает нормально. Если поменять адрес на несуществуюший в сети, то попытки пинга идут бесконечно (что и требовалось). Но если адрес правильный, а пинга все равно нет, то несмотря на это запускается подключение и естественно выдает ошибку.

Отправлено: 06:52, 12-11-2010 | #8



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Батник для подключения к админским шарам. Creativie Скриптовые языки администрирования Windows 13 05-05-2014 12:54
CMD/BAT - [решено] Помогите создать батник для отслеживания изменений файла и отправки сообщения на майл sergeyhopper Скриптовые языки администрирования Windows 8 22-09-2010 08:26
CMD/BAT - [решено] Помогите создать батник для переноса Профиля пользователя. katarsis Скриптовые языки администрирования Windows 13 18-04-2010 14:23
Любой язык - [решено] Перезапуск сетевого подключения по отсутствию пинга. argnist Скриптовые языки администрирования Windows 2 29-03-2010 16:53
Безопасность - Как создать загрузочный CD для проверки на вирусы? mdug Программное обеспечение Windows 11 23-11-2006 15:24




 
Переход