灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:1408回复:0

批处理获取网卡名称的代码(附修改IP、网关、DNS脚本)

楼主#
更多 发布于:2013-05-31 11:31
此脚本使用于因为网卡换过PCI槽,导致的网卡名称带有2,3,4的情况。

 
复制代码 代码如下:

::用ipconfig /all命令获取网卡名称。 
FOR /F "tokens=2*" %%i IN ('ipconfig/all^|find /i "Ethernet adapter "') DO set name=%%j 
::用for命令删除网卡名称后面的冒号。 
FOR /F "tokens=1* delims=:" %%i in ("%name%") do set 网卡名称=%%i
套用上面的脚本来修改DNS,比如昨天全国DNS服务器瘫痪,将DNS改为202.96.199.132即可恢复正常上网。

修改DNS片段
复制代码 代码如下:

FOR /F "tokens=2*" %%i IN ('ipconfig/all^|find /i "Ethernet adapter "') DO set name=%%j 
FOR /F "tokens=1* delims=:" %%i in ("%name%") do set 网卡名称=%%i 
netsh -c interface ip add dns name="%网卡名称%" addr=202.96.199.132 index=1 
netsh -c interface ip add dns name="%网卡名称%" addr=202.96.64.38 index=2

修改IP、子网掩码、网关、DNS代码
复制代码 代码如下:

FOR /F "tokens=2*" %%i IN ('ipconfig/all^|find /i "Ethernet adapter "') DO set name=%%j 
FOR /F "tokens=1* delims=:" %%i in ("%name%") do set 网卡名称=%%i 
netsh -c interface ip set address name="%网卡名称%" source=static addr=192.168.1.215 mask=255.255.255.0 
netsh -c interface ip set address name="%网卡名称%" gateway=192.168.1.1 gwmetric=0 
netsh -c interface ip add dns name="%网卡名称%" addr=202.96.209.133 index=1 
netsh -c interface ip add dns name="%网卡名称%" addr=202.96.209.5 index=2


刚才测试了下,如果有两个网卡的话,会修改本地连接后面数字较小的那个,比如有两个本地连接,名称分别为本地连接2,和本地连接3,脚本会去修改本地连接2,并且不能正确识别活动网卡,所以还不是很完美,只能等LZ帮忙完善一下了,俺是没这个能力了。

喜欢0 评分0
游客

返回顶部