::::::::::::::::::::::::::::::::::::::::
:: Shutdown Below Nettraffic 1.0
::
:: Code by zb0502
:: Date: 2007-12-8
:: Happy 51nb ^_^
::
::::::::::::::::::::::::::::::::::::::::
@ECHO OFF
:: 显示用法说明
IF "%3" == "" CLS && ECHO 用法说明: && ECHO ShutdownBelowNettraffic 下载速度(KB/S) 上传速度(KB/S) 持续时间(秒) && GOTO End
SET /a count=0
:Start
:: 获得接口当前流量
FOR /F "tokens=1,2,3 delims= " %%i IN ('NETSTAT -e') DO IF "%%i" == "字节" SET /a downbytes_last = %%j && SET /a upbytes_last = %%k
:: 延迟1秒
ping -n 2 127.0.0.1 | find ""
:: 再次获得接口当前流量
FOR /F "tokens=1,2,3 delims= " %%i IN ('NETSTAT -e') DO IF "%%i" == "字节" SET /a downbytes_new = %%j && SET /a upbytes_new = %%k
:: 计算下载上传速度并显示
SET /a downrate = (%downbytes_new% - %downbytes_last%)/(8*1024)
SET /a uprate = (%upbytes_new% - %upbytes_last%)/(8*1024)
CLS
TIME /T
ECHO 下载速度(KB/S):%downrate% 上传速度(KB/S):%uprate%
:: 判断条件
IF %downrate% LSS %1 IF %uprate% LSS %2 SET /a count=%count%+1 && GOTO Next
SET /a count=0
:Next
:: 如果持续时间达到 %3 则跳转去执行关机命令
IF %count% EQU %3 GOTO Shutdown
GOTO Start
:Shutdown
:: 关机,留出60秒的反悔时间~~~
shutdown.exe /t 60
:End