确定以太网是否已插入/拔出[批次代码]

时间:2014-03-16 17:04:57

标签: batch-file cmd

我有一个笔记本电脑的小脚本,我想让它变得更好。

我希望批处理确定以太网连接是否已插入。

如果以太网被插入,我想通过rasdial连接并ping。如果PC收到ping的响应,则显示“Connection established successfully”。如果没有来自ping的响应,则“连接失败”。

如果拔下以太网,只显示“无线连接”。

这是当前的代码:

@echo off

rasdial <Dialup_connection_name> <User> <Pass>

ping -n 1 -w 3000 www.google.com >nul
if errorlevel 1 (
  cls
  msg * Connection failed
  exit
)

cls
msg * Connection established successfully
exit

2 个答案:

答案 0 :(得分:1)

netsh interface show interface name="LAN-Verbindung" |find "Verbindungsstatus" |find "Verbunden">nul && echo connected || echo not connected

(这适用于德语窗口;您必须将其本地化)

要在批处理文件中看起来更好,你可以这样写:

netsh interface show interface name="LAN-Verbindung" ^
 |find "Verbindungsstatus" ^
 |find "Verbunden">nul ^
   && echo connected ^
   || echo not connected

答案 1 :(得分:1)

我做到了!这是代码,如果有人想要的话! :d

@echo off

netsh interface show interface name="Ethernet" ^
 |find "Connected">nul ^
   && goto connection ^
   || goto unplugged

:connection
rasdial <Dialup_connection_name> <User> <Pass>
ping -n 1 -w 3000 www.google.com >nul
if errorlevel 1 (
  cls
  msg * Connection failed!
  exit
)
cls
msg * Connection established successfully!
exit

:unplugged
cls
msg * No wired connection!
exit