我使用简单的* .bat脚本在需要时自动更改IP。该文件包含以下内容:
"C:\Program Files\HMA! Pro VPN\bin\HMA! Pro VPN.exe" -changeip
sleep 30
问题在于HMA有时需要15秒才能更改ip,有时需要20秒,有时需要30秒以上等等。
我想摆脱sleep 30
,而是在HMA完成IP更改时退出脚本。有没有办法做到这一点?
如果有任何帮助。我发现如果在IP更改发生时运行ipconfig
,它会返回Media State . . . . . . . . . . . : Media disconnected
用于本地连接2.我想如果有一个命令行命令可以找到就足够了如果已连接本地连接2 ,并以某种方式将其合并到脚本中。
非常感谢任何帮助。
答案 0 :(得分:1)
没有简单的方法来检查网络适配器的状态。您可以解析ipconfig
的输出(更准确地说),但它很复杂。
这应该可以解决问题。
set host=hidemyass.com
"C:\Program Files\HMA! Pro VPN\bin\HMA! Pro VPN.exe" -changeip
:wait
ping -n 1 %host% | find "Reply from" >nul
if errorlevel 1 goto wait
答案 1 :(得分:0)
您可以使用netsh
检查网卡的连接状态。只需使用
for /f "usebackq tokens=1,2,3,*" %A in (`netsh interface show interface`) do @if "%D"=="Local Area Connection 2" set state=%B
并且您将在%state%variable中捕获连接状态。
答案 2 :(得分:0)
你的问题帮助了我,我正在寻找同样的事情“改变ip”我知道总有一个延迟,但为什么不让它1分钟。因为它总是有效并等待一段时间,如果有效的话,那就不重要了。