批处理网关选择

来源:百度知道 编辑:UC知道 时间:2024/06/05 12:35:48
@echo off
ipconfig -all
ping 222.216.110.129
if /i "%time%" lss "10ms" "%Default Gateway%"=="192.168.1.1" (start 1.txt)
exit

PING值小于10并且网关等于192.168.1.1就运行1.txt
有没高手指点一下

@echo off
for /f "delims=: tokens=2" %%a in ('ipconfig^|find /i "default Gateway"') do set gateway=%a
set gateway=%gateway:~1%
for /f "tokens=9" %%a in ('ping 222.216.110.129^|find /i "average"') do set delay=%%a
set delay=%delay:~0,-2%

if "%gateway%"=="192.168.1.1" (
if %delay% leq 10 start 1.txt
)

回答者: CyraSafia没测试过吧,我测试过你的运行不成功,帮你改下测试通过内容以下

@echo off
for /f "delims=: tokens=2" %%a in ('ipconfig /all^|find "default Gateway"') do set gateway=%%a&&set gateway=%gateway:~1%
for /f "tokens=9" %%a in ('ping 222.216.110.129^|find "average"') do set delay=%%a&&set delay=%delay:~0,-2%
if "%gateway%"=="192.168.1.1" (if %delay% lss 10 start "" 1.txt)

你的这里其实是有错误的。其中192.168.1.1这个是字符串,他进行的比较是字符串 比较,不是数字比较。
你提取数字的也就是小于那个时间,你自己写,后面那部分进行比较的我写完了。你这样加上去。