windows下更新dynv6的批处理
@echo off @set tempnum= @set ipaddr= @set oldipaddr= rem domain=你注册的域名(dynv6.net 提供多种域名后缀可自行修改) @set domain= rem token=dynv6.net 提供的钥匙token @set token= @set URLV6="http://dynv6.com/api/update?hostname=%domain%&token=%token%&ipv6=%%ipaddr%%" @set BIN=D:\tools\dynv6\wget -t 2 --prefer-family=IPv6 --no-dns-cache --no-check-certificate -U=AGENT :start_ip1 @ipconfig /flushdns @ipconfig /renew rem @cls @echo ... @echo 1.####从ip.sb获得地址#### @set ip6addr=null REM ***ipv6*** for /F %%i in ('%BIN% -O- https://api-ipv6.ip.sb/ip') do (set ipaddr=%%i) if "%ipaddr%" == "null" ( echo 没有IPV6地址或获得IPV6地址失败 ping 127.0.0.1 -n 5 > nul goto start_ip1 ) else ( echo 获得IP地址:%ipaddr%,旧IP地址:%oldipaddr% if NOT "%oldipaddr%" == "%ipaddr%" ( echo ---更新IP--- goto update_web_ip ) else ( echo IP没有改变,120秒后重新检测 ping 127.0.0.1 -n 120 > nul goto start_ip1 )) :update_web_ip @echo ============================================== @echo ipaddr="%ipaddr%" @echo ============================================== @set var=null REM ***ipv6*** for /F "tokens=*" %%i in ('%BIN% -O- %URLV6%') do (set var=%%i) echo Update info=%var% if "%var%" == "addresses updated" goto end echo 更新失败,60秒后重新检测 ping 127.0.0.1 -n 60 > nul goto start_ip1 :end set oldipaddr=%ipaddr% echo 更新数据成功,60秒后重新检测 ping 127.0.0.1 -n 60 > nul goto start_ip1