Board logo

标题: [网络连接] BAT怎样修改WIN7的IP和网关等? [打印本页]

作者: aazx    时间: 2013-9-20 11:25     标题: BAT怎样修改WIN7的IP和网关等?

我是一机房管理员,最近学校机房更新操作系统为WIN7,由于要控制学生上网,想做个批处理用来更改学生机的DNS和网关,但是由于机房机计算机网络克隆后WIN7会改变本地连接的名称为:本地连接 2  或 本地连接 3等,本地连接名称不固定,在做批处理时会出问题,我只想更改本机的网关和DNS不修改IP和子网掩码,我的代码如下:
  1. @echo off
  2. ipconfig
  3. for /f "tokens=2 delims=:" %%i in ('ipconfig^|findstr /i "ipv4"') do set "ip=%%i"
  4. for /f "tokens=1*" %%a in ('ipconfig^|findstr "以太网适配器"') do set "ipname=%%b"
  5. netsh interface ipv4 set address name=%ipname% source=static addr=%ip% mask=255.255.255.0 gateway=192.168.1.1 gwmetric=0
  6. netsh interface ipv4 set dns name=%ipname% source=static addr=192.168.1.1 register=PRIMARY
  7. netsh interface ipv4 add dns name=%ipname% addr=192.168.1.1
复制代码
现有2个问题:
1、本地连接后有个冒号
2、卷标语法不正确

请帮我修改一下,谢谢!!注意,是win7系统
作者: foxJL    时间: 2013-9-20 12:07

这行代码可以去掉:号
  1. set ipname=%ipname::=%
复制代码
卷标语法不正确,能不能具体说明是哪行代码出现问题
作者: apang    时间: 2013-9-20 13:20

本帖最后由 apang 于 2013-9-20 13:54 编辑
  1. @echo off
  2. for /f "tokens=1*" %%a in ('ipconfig') do set ".%%a=%%b"
  3. set "ip=%.ipv4:*: =%" & set "ipname=%.以太网适配器::=%"
  4. netsh interface ipv4 set address name=%ipname% source=static addr=%ip% mask=255.255.255.0 gateway=192.168.1.1 gwmetric=0
  5. netsh interface ipv4 set dns name=%ipname% source=static addr=192.168.1.1 register=PRIMARY
  6. netsh interface ipv4 add dns name=%ipname% addr=192.168.1.1
  7. pause
复制代码

作者: aazx    时间: 2013-9-21 16:19

谢谢大家了,问题解决了




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