Board logo

标题: [系统相关] 在Win7下使用批处理获取本地连接名称 [打印本页]

作者: aazx    时间: 2013-9-17 14:03     标题: 在Win7下使用批处理获取本地连接名称

我是一机房管理员,最近学校机房更新操作系统为WIN7,由于要控制学生上网,想做个批处理用来更改学生机的DNS和网关,但是由于机房机计算机的本地连接名称不固定,在做批处理时会出问题,请高手帮我写个获取本地连接名称的批处理。
谢谢了哦!!!

注意:是win7系统哦
作者: DAIC    时间: 2013-9-17 15:08

ipconfig
把这个命令的结果贴出来看看
作者: aazx    时间: 2013-9-17 18:31

ipconfig
Windows IP 配置


以太网适配器 本地连接:

   连接特定的 DNS 后缀 . . . . . . . :
   IPv4 地址 . . . . . . . . . . . . : 192.168.0.60
   子网掩码  . . . . . . . . . . . . : 255.255.254.0
   默认网关. . . . . . . . . . . . . : 192.168.0.250




ipconfig/all

Windows IP 配置

   主机名  . . . . . . . . . . . . . : S301-00
   主 DNS 后缀 . . . . . . . . . . . :
   节点类型  . . . . . . . . . . . . : 混合
   IP 路由已启用 . . . . . . . . . . : 否
   WINS 代理已启用 . . . . . . . . . : 否

以太网适配器 本地连接:

   连接特定的 DNS 后缀 . . . . . . . :
   描述. . . . . . . . . . . . . . . : Realtek RTL8168D/8111D 系列 PCI-E 千兆以太网 NIC (NDIS 6.20)
   物理地址. . . . . . . . . . . . . : D0-27-88-7A-D3-5C
   DHCP 已启用 . . . . . . . . . . . : 否
   自动配置已启用. . . . . . . . . . : 是
   IPv4 地址 . . . . . . . . . . . . : 192.168.0.60(首选)
   子网掩码  . . . . . . . . . . . . : 255.255.254.0
   默认网关. . . . . . . . . . . . . : 192.168.0.250
   DNS 服务器  . . . . . . . . . . . : 61.177.7.1
   TCPIP 上的 NetBIOS  . . . . . . . : 已启用
作者: batman    时间: 2013-9-17 20:37

  1. @echo off
  2. for /f "tokens=1*" %%a in ('ipconfig^|findstr "以太网适配器"') do set "ipname=%%b"
  3. echo,%ipname%
  4. pause>nul
复制代码

作者: hzcxdgioa    时间: 2013-9-18 11:51

还是用我的吧,我的可以检测所有网卡,http://www.bathome.net/thread-26361-1-2.html,代码需要自己精简一下
作者: terse    时间: 2013-9-18 14:03

看看结果对不
  1. wmic path Win32_NetworkAdapter WHERE "DeviceID='1'" get NetConnectionID
复制代码

作者: zz100001    时间: 2013-9-18 17:15

我一直以为本地连接就是插着网线的,但是拨号连接的也是插着线,所以如果名字乱改的话只能看图标区分?
  1. @echo off
  2. REM 依赖dot3svc
  3. REM net start "Wired AutoConfig"
  4. for /f "tokens=1,* delims=: " %%i in ('netsh lan show interfaces^|find "名称"') do set "Name=%%j"
  5. echo %Name%
  6. pause
复制代码

作者: aazx    时间: 2013-9-20 11:01

回复 4# batman


    谢谢!!

但后面还有一个冒号,这个怎么删除呢?

我的批处理的功能是更改本机的网关和DNS不修改IP和子网掩码,但由于网络克隆后WIN7会改变本地连接的名称为:本地连接 2  或 本地连接 3等,用netsh interface ipv4 set address name="本地连接" source=static addr=192.168.1.10 mask=255.255.255.0
只能修改固定名称的本地连接,我想先获取本机的IP和本地连接名称,再将本机IP和本在连接名称放入命令

@echo off
ipconfig
for /f "tokens=2 delims=:" %%i in ('ipconfig^|findstr /i "ipv4"') do set ip=%%i
for /f "tokens=1*" %%a in ('ipconfig^|findstr "以太网适配器"') do set "ipname=%%b"

netsh interface ipv4 set address name=%ipname% source=static addr=%ip%mask=255.255.255.0 gateway=192.168.1.1 gwmetric=0 >nul
  
netsh interface ipv4 set dns name=%ipname% source=static addr=192.168.1.1 register=PRIMARY
netsh interface ipv4 add dns name=%ipname% addr=192.168.1.1

现有2个问题:
1、本地连接后有个冒号
2、卷标语法不正确

请帮我修改一下,谢谢
作者: 291586901    时间: 2016-7-29 15:21

本帖最后由 291586901 于 2016-7-29 15:30 编辑

回复 8# aazx


    本地连接后面的冒号可以这样去除!
  1. set a=%ipname::=%
  2. echo 您的以太网适配器为:%a%
  3. pause
复制代码
希望能帮到你可其它同样搜索这个答案的人!




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2