admin管理员组

文章数量:1130349

批处理版本:(不支持2008)

@echo off

title 服务器断网自动关机

MODE con: COLS=50 LINES=10

color 4a

echo 准备检测网络……

ping 127.0.0.1 -n 4

CLS

:go1

set /a miao=85

rem MIXO的值为计算余下时间而设,注意总时间等于该值减1。余下时间=(miao-1)*(ndiao-1)

set /a ndiao = 6

rem ndiao的值为重新检测网络倒计时而设定,也影响到自关机时间,注意显示的值等于该值减1

:go2

set mac=

set /a miao=%miao%-1

if "%miao%"=="0" GOTO reboot

for /f "tokens=14*" %%i in ('ipconfig/all^|find "Enabled"') do (

set mac=%%i

goto FOR1)

:FOR1

@echo off & setlocal enableextensions

echo WScript.Sleep 1000 > %temp%\tmp$.vbs

set /a i = %ndiao%

rem i的值为计算余下时间而设,余下时间=(miao-1)*(ndiao-1)

set /a miao2=%miao%*(ndiao-1)

rem miao2为自动关机的余下时间=(miao-1)*(ndiao-1)

:Timeout

if %i% == 1 goto Next

setlocal

set /a i = %i% - 1

cls

echo . 服务器无人守值,断网自动关机

echo .

if "%mac%" == "" (echo . 网络连接不正常,系统将在%miao2%秒后自动关机) ELSE (

echo . 网络连接正常)

echo .

echo . %i% 秒后重新检测网络

echo .

ECHO .

ECHO .

cscript //nologo %temp%\tmp$.vbs

goto Timeout

:Next

cls & echo.

for %%f in (%temp%\tmp$.vbs) do del %%f

if "%mac%" == "" (goto go2) else (goto go1)

:reboot

echo %date% %time% "服务器检测到网络不通60秒后关机" >>errlog.log

shutdown -s -f -t 60 -c "服务器检测到网络不通60秒后关机"

cls

echo %date% %time% "服务器检测到网络不通15秒后关机"

echo 关机60秒倒数计时中,可按任意键取消!

pause >nul

shutdown -a

exit

方法2:

使用自动关机软件。

下载:

断电自动关机.rar

下载:https://wwa.lanzous/i4ufKedlvyd 密码:9p8q

断电自动关机.rar

批处理版本:(不支持2008)

@echo off

title 服务器断网自动关机

MODE con: COLS=50 LINES=10

color 4a

echo 准备检测网络……

ping 127.0.0.1 -n 4

CLS

:go1

set /a miao=85

rem MIXO的值为计算余下时间而设,注意总时间等于该值减1。余下时间=(miao-1)*(ndiao-1)

set /a ndiao = 6

rem ndiao的值为重新检测网络倒计时而设定,也影响到自关机时间,注意显示的值等于该值减1

:go2

set mac=

set /a miao=%miao%-1

if "%miao%"=="0" GOTO reboot

for /f "tokens=14*" %%i in ('ipconfig/all^|find "Enabled"') do (

set mac=%%i

goto FOR1)

:FOR1

@echo off & setlocal enableextensions

echo WScript.Sleep 1000 > %temp%\tmp$.vbs

set /a i = %ndiao%

rem i的值为计算余下时间而设,余下时间=(miao-1)*(ndiao-1)

set /a miao2=%miao%*(ndiao-1)

rem miao2为自动关机的余下时间=(miao-1)*(ndiao-1)

:Timeout

if %i% == 1 goto Next

setlocal

set /a i = %i% - 1

cls

echo . 服务器无人守值,断网自动关机

echo .

if "%mac%" == "" (echo . 网络连接不正常,系统将在%miao2%秒后自动关机) ELSE (

echo . 网络连接正常)

echo .

echo . %i% 秒后重新检测网络

echo .

ECHO .

ECHO .

cscript //nologo %temp%\tmp$.vbs

goto Timeout

:Next

cls & echo.

for %%f in (%temp%\tmp$.vbs) do del %%f

if "%mac%" == "" (goto go2) else (goto go1)

:reboot

echo %date% %time% "服务器检测到网络不通60秒后关机" >>errlog.log

shutdown -s -f -t 60 -c "服务器检测到网络不通60秒后关机"

cls

echo %date% %time% "服务器检测到网络不通15秒后关机"

echo 关机60秒倒数计时中,可按任意键取消!

pause >nul

shutdown -a

exit

方法2:

使用自动关机软件。

下载:

断电自动关机.rar

下载:https://wwa.lanzous/i4ufKedlvyd 密码:9p8q

断电自动关机.rar

本文标签: 自动关机批处理服务器程序Linux