- 帖子
- 352
- 积分
- 332
- 技术
- 1
- 捐助
- 0
- 注册时间
- 2009-1-24
|
[网络连接] 【原创】XP下批处理得到最小网络延迟报警退出 可修改为得到外网IP
@echo off & setlocal enabledelayedexpansion
title 自动刷新V.10
set /p mm=输入希望延迟最小的毫秒
@ping /n 1 127.0.0.1>nul
set /p shu=输入几次加一秒
@ping /n 1 127.0.0.1>nul
echo 1 %mm%>ms.txt
::echo 1 %mm%>>ms.txt
@ping /n 1 127.0.0.1>nul
set s=0
@ping /n 1 127.0.0.1>nul
set mod=0
@ping /n 1 127.0.0.1>nul
set x=%mm%
:a
@rasdial /DISCONNECT
@ping /n 2 127.0.0.1>nul
@rasdial 宽带连接 666888 8888666
@ping /n 6 127.0.0.1>nul
ipconfig>ip.txt
@set /a s+=1
@echo %s%
@ping /n 1 127.0.0.1>nul
for /f "tokens=1-26" %%a in (ip.txt) do (
>100.txt echo %%m
)
@ping /n 1 127.0.0.1>nul
for /f "tokens=1-4 delims=." %%c in (100.txt) do ( >>101.txt echo %%e
set a=%%e
@ping /n 1 127.0.0.1>nul
::ping 223.252.212.17:12788 -n 1 -l这里上下两行不能分开
for /f "tokens=3 delims==" %%i in ('ping 223.252.212.17 -n 1 -l 1^|find "TTL"') do (set TTL=%%i
))
@ping /n 1 127.0.0.1>nul
set ms=%ttl:~0,-6%
@ping /n 1 127.0.0.1>nul
echo %a% %ms% >>ms.txt
@ping /n 1 127.0.0.1>nul
echo %a%
@ping /n 1 127.0.0.1>nul
::没有用到x
::d=0时候输出最大IF句用gtr
set d=118
::for /f "tokens=1,2" %%y in (ms.txt) do (
::逻辑比值LSS最小gtr最大
::if %%z lss !d! (set d=%%z
::set x=%%z
::set ip=%%y)
::)
::执行几次在+1
set /a mod=s%%%shu%
if !mod!==0 (
set /a x+=1
echo !s! 次数
echo !x! x的值
)
@echo %s%
echo 本次延迟%ms% 设置最小延迟%x%
::leq小于等于::lss小于
if /i %ms% leq %x% (goto b) else (goto a)
:b
ping /n 2 127.0.0.1>nul
ping /n 3 127.0.0.1>nul
pause
***********************
一年的使用了 基本正常 修改可以 得到自己想要的外网IP【本人原创】 帮忙给精简一下 谢谢 |
|