Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Создать бат-файл для того чтоб компьютер выключился сам когда пропадёт интернет (http://forum.oszone.net/showthread.php?t=306827)

dorga6 19-10-2015 12:12 2565583

Создать бат-файл для того чтоб компьютер выключился сам когда пропадёт интернет
 
Здравствуйте Всем!
Если Вам несложно напишите пожалуйста бат файл для того, чтоб компьютер выключился сам если пропадёт интернет - он тут у нас часто пропадает вместе с электричеством.
(А в моё отсутствие бесперебойник не доживёт до поступления тока.Ну и хардам кранты будут видимо.)
Мне в ответы (mail.ru) дали только эти строки ''Сначала бесконечный цикл потом проверка пинг а потом выключение компа.'' и сказали что программистам это раз плюнуть.
Спасибо в любом случае!!!!

Iska 19-10-2015 13:32 2565624

dorga6, Ваш UPS как-то подключён к машине или существует сам по себе?

dorga6 19-10-2015 14:29 2565645

Iska - СПАСИБО за оперативность, мой UPS сам по себе, к сожалению (Powerwalker)

Drongo 19-10-2015 17:22 2565714

dorga6, Написал простенькую программку на коленке.

1. Проверяет наличие интернета по кнопке(для тестирования) и по таймеру 1 раз в 1 минуту
2. Если инета нет - выведет инфу в что Инета нет. (Выключение пока не сделал)

От вас что нужно, протестировать со всеми возможными вариантами и отписаться что выводит "Инет есть" или "Инета нет":
1. С иммитировать отключение электричества.
2. С иммитировать отключение инета.

Из минусов, если у вас роутер, а инета нет по вине провайдера, опрос программой роутера будет успешен и будет считаться что инет есть, по моему так если не ошибаюсь. Но, раз вам нужна программа страхующая отключение, то при отключении электричества, роутер не будет найден и как следствие инета не будет тоже, т.е. выключение произойдёт успешно. Должно. :)

Проверьте, если что, допишу её...

greg zakharov 19-10-2015 18:06 2565730

Примерное решение:
Код:

@echo off
  setlocal
    set "net=HKLM\SYSTEM\CurrentControlSet\Services"
    set "net=%net%\Tcpip\Parameters\Interfaces"
    :loop
    for /f "tokens=3" %%i in (
      'reg query %net% /s ^| findstr /irc:"dhcpipaddress"'
    ) do (
      if "%%i" neq "0.0.0.0" (
        ping -n 1 127.0.0.1>nul
        goto:loop
      )
      echo:Connection is lost...
      rundll32 powrprof.dll,SetSuspendState Sleep
    )
  endlocal
exit /b


dorga6 19-10-2015 21:06 2565813

Drongo - премного Вам благодарен, просто завидую таким благородным и умным людям!
Если можно я завтра протестирую - тут навалилось всякое (родные помогают:):):))
СПАСИБИЩЕ!!!

greg zakharov Прямо не ожидал - есть ведь люди готовые помочь другим!
Огромное Вам СПАСИБО!!!

dorga6 20-10-2015 16:37 2566149

Drongo - Ваша Autoshutdown работает отлично при запросе наличия инета по кнопке (если его нет то выключает комп)
При имитации отлючения тока (у меня роутер - инет пропадает) такой же положительный результат.
Просьба, если возможно, пожалуйста сделайте чтобы прога сама автоматически срабатывала когда пропадёт интернет● СПАСИБО!!!

Drongo 20-10-2015 22:28 2566338

dorga6, Хорошо. Ждите конечный вариант.

Drongo 22-10-2015 21:46 2567140

Вложений: 2
Собственно с автором через ПМ уже решили вопрос. Отписался что работает. Вдруг кому ещё нужно, выкладываю архив.

1. При запуске сворачивается в трей и висит проверяя наличие инета
2. Один раз в минуту AutoShutdown делает опрос состояния сети: Есть\Нет.
3. Если статус наличия инета - Да, ничего не происходит, т.к. инет есть
4. Если статус наличия инета - Нет, запускается обратный отсчёт в 20 секунд и программа мигает значком.
5. После чего комп выключается.
Немного картинок
1. При запуске прога сама сворачивается в трей и раз в минуту делает опрос наличия инета
2. Изначально такое окно

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

4. В случае исчезновения инета, окно AutoShutdown'a активизируется поверх всех окно с миганием кнопки на панели задач. И появится следующая надпись

5. Через 20 секунд компьютер отключится.

Iska 22-10-2015 22:28 2567162

Drongo, может шапку бы оформить, и ещё туда это?!

Drongo 22-10-2015 23:22 2567180

Да зачем, кому надо прочитает до конца, найдёт, просто пометить решённой можно.


Время: 06:29.

Время: 06:29.
© OSzone.net 2001-