【问题标题】:Is it possible to find out in command line if Local Area Connection 2 is connected?是否可以在命令行中找出本地连接 2 是否已连接?
【发布时间】:2012-03-02 17:47:24
【问题描述】:

我有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,它会为本地连接 2 返回 Media State . . . . . . . . . . . : Media disconnected。我想知道 是否有命令行命令来确定本地连接是否足够连接 2 已连接,并以某种方式将其合并到脚本中。

任何帮助将不胜感激。

【问题讨论】:

    标签: windows networking cmd vpn


    【解决方案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
    

    【讨论】:

      【解决方案2】:

      您可以使用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% 变量中捕获连接状态。

      【讨论】:

        【解决方案3】:

        你的问题帮助了我,我正在寻找同样的东西“改变 ip”,我知道总会有延迟,但为什么不让它 1 分钟。因为这总是有效的,如果它正常工作,等待更长的时间也没关系。

        【讨论】:

          猜你喜欢
          • 2021-06-04
          • 2012-12-18
          • 1970-01-01
          • 1970-01-01
          • 2018-08-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-09-29
          相关资源
          最近更新 更多