::第二次更新版:判断方式完全改变,对网站是否能正常使用的判断大幅提高;稍微解决了一下频闪的问题;过滤了部分会导致出错的输入;对运行时间进行了判断。::当你在一个月的最后一天开始运行,并在下一个月结束运行时,总运行时间会显示为负数@echo offtitle testip2SET BINDIR=%~dp0CD /D "%BINDIR%"cls: cheif not exist wget.exe (echo 文件wget.exe不存在。echo 请重新下载。set /p=按任意键退出<nulpause>nulexit): sset filen=echo=echo 文件注意事项:echo 1.文件中每行只能有一个地址;echo 2.文件中#作为开头的行会被省略;echo *3.文件中包含的地址不能出现特殊字符(%% ^^ ^| ^& ^=);echo 4.文件中#作为开头的行可以出现特殊字符。echo ----------------------------------------------------set /p filen=请输入文件地址:echo ----------------------------------------------------set "filen=%filen:"=%"if not exist "%filen%" (echo 文件不存在,请重新输入。goto s:)::---------------------------------timeoutecho 参数说明:echo 1.连接尝试次数:连接失败后重新连接的最大次数。echo (1)次数越少,说明连接较稳定;echo (2)次数越多,连接越不稳定,但可能可以获得更多有效地址。echo 2.连接等待时间:等待服务器回应的时间。echo (1)设置时间越短,说明该地址连接状况越良好;echo (2)设置时间越长,说明该地址需要较长时间来访问,但可以echo 使可用的地址更多。echo 3.连接上的地址并不代表一直可用。echo 4.缺省参数:连接尝试次数=2echo 连接等待时间(s)=4echo ----------------------------------------------------echo 请输入参数。set /p trnum=连接尝试次数:set /p ounum=连接等待时间(s):if "%trnum%" equ "" (set trnum=2)if "%ounum%" equ "" (set ounum=4)set "trnum=%trnum: =%"set "ounum=%ounum: =%"if %trnum% gtr 100000000 (set trnum=100000000)if %ounum% gtr 1200000 (set ounum=1200000)if %trnum% leq 0 (set trnum=2)if %ounum% leq 0 (set ounum=4)::---------------------------------set linenum=0echo 正在计算工程量...for /f "usebackq eol=#" %%a in ("%filen%") do (set /a linenum+=1)if %linenum% equ 0 (clsecho 在%filen%中没有未被注释的地址,请重新输入文件地址和参数。goto s:)echo 正在处理数据...set succenum=0set failnum=0set safnum=0::-----------处理八进制问题-----------set adated=%date:~8,2%if "%adated%" equ "08" (set adated=8)if "%adated%" equ "09" (set adated=9)set atimeh=%time:~0,2%if "%atimeh%" equ "08" (set atimeh=8)if "%atimeh%" equ "09" (set atimeh=9)set atimem=%time:~3,2%if "%atimem%" equ "08" (set atimem=8)if "%atimem%" equ "09" (set atimem=9)set atimes=%time:~6,2%if "%atimes%" equ "08" (set atimes=8)if "%atimes%" equ "09" (set atimes=9)::--------------------------------------set /a statime=%adated%*24*3600+%atimeh%*3600+%atimem%*60+%atimes%set /a nowtime=%statime%set lastime=0set deltime=0set /a runtime=%nowtime%-%statime%clsset /a remanum=%linenum%-%safnum%set /a rematim=%remanum%*%trnum%*%ounum%::--------------------------小更新中加入的提醒--------------------------set alltime=%rematim%set timnum=0if %alltime% gtr 3600 (set /a timnum=%alltime%/3600)if %timnum% neq 0 (msg * "测试完所有地址可能超过%timnum%小时,建议将文件分成多份,同时探测多个地址(来自%filen%文件)")::----------------------------------------------------::后半部分见楼下