|
|
楼主 |
发表于 2018-11-20 19:15:42
|
显示全部楼层
本帖最后由 ygqiang 于 2018-11-20 21:36 编辑
最终解决代码。- @echo off & setlocal enabledelayedexpansion
- set servip1=192.168.32.61
- cls
- echo %time%
- 1pause
- echo ....................................................>>1.txt
- echo %time%>>1.txt
- echo ....................................................>>1.txt
- set ns=0
- rem 显示开始时间
- set time1=%time%
- echo 当前时间是%time1%
- call :time2sec %time1%
- set t1=%ns%
- 1pause
- cls
- echo 设置时间间隔(秒)
- set timebiao=120
- :timnext
- for /l %%m in (1,1,2) do (
- ping !servip1! -n 1
- echo !errorlevel!
- if !errorlevel! equ 0 goto :neta
- echo 外网不通
- 1pause
- )
- rem 显示结束时间
- set time2=%time%
- echo 当前时间是%time2%
- call :time2sec %time2%
- set t2=%ns%
- rem 计算时间差
- set /a tdiff=%t2%-%t1%
- echo 间隔%tdiff%秒>>1.txt
-
- 1pause
- if %tdiff% LSS %timebiao% goto :timnext
- echo %tdiff%
- echo %time%
- echo 外网不通,持续x分钟
- 1pause
- cls
- echo =================================>>1.txt
- echo =================================>>1.txt
- echo =================================>>1.txt
- echo =================================>>1.txt
- exit
- :neta
- echo 外网通畅
- 1pause
- echo =================================>>1.txt
- echo okokokokokokokokokokokokokokokoko>>1.txt
- echo okokokokokokokokokokokokokokokoko>>1.txt
- echo =================================>>1.txt
- exit
- :time2sec
- rem 将时间转换成秒数,保存到ns中
- set tt=%1
- set hh=%tt:~0,2%
- set mm=%tt:~3,2%
- set ss=%tt:~6,2%
- set /a ns=(%hh%*60+%mm%)*60+%ss%
- goto :eof
复制代码 |
|