如果连接了本地连接2,是否可以在命令行中找到?

时间:2012-02-10 08:17:45

标签: windows networking cmd vpn

我有HideMyAss Pro VPN

我使用简单的* .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 ,并以某种方式将其合并到脚本中。

非常感谢任何帮助。

3 个答案:

答案 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分钟。因为它总是有效并等待一段时间,如果有效的话,那就不重要了。