利用批处理文件修改DNS

我有的时候会把公司做不完的事情带回家,在家通过网络写点脚本,做点事情。
家里的网络用的是深圳聚友网络,当初贪图便宜,没想到便宜没好货,网速距慢,而且三天两头修改配置。

麻烦就麻烦在这配置上,每次在家上网,都需要首先修改DNS为一个固定的DNS服务器。然后登录帐号密码方可上网。但是在公司,就没有这么繁琐,直接接上网线即可,所以需要把DNS取消掉,改为自动从DHCP服务器获取。

修改DNS虽说不是很麻烦,不过有的时候总记不得。所以干脆写了一个批处理脚本。Windows提供了一个netsh,可以在命令行下进行IP地址或者DNS的设置。下面对此作简单介绍,然后show一下我的简单的批处理脚本。

首先进入命令提示行:“Win+R”>“cmd”,回车
输入netsh,回车,出现:netsh>
再输入interface,回车,出现netsh interface>
再输入ip,回车,出现netsh interface ip>

进入IP设置项了,我们要用到以下的命令:
set address – 添加一个 IP 地址到指定的接口。

先看看关于此令的windows帮助:
————————————————————————–
用法: set address [name=]
[[source=]dhcp |
[source=] static [addr=]IP address [mask=]IP subnet mask]
[[gateway=]|none [gwmetric=]integer]

参数:

标记 值
name – 接口名称。
source – 下列值之一:
dhcp: 对于指定接口,设置用 DHCP 配置 IP
地址。
static: 设置使用本地静态配置设置 IP
地址。

gateway – 下列值之一:
: 您设置的 IP 地址的指定默认
网关。
none: 不设置默认网关。
gwmetric – 默认网关的跃点数。如果网关设置为 ‘none’,则
不应设置此字段。
只有在 ‘source’ 为 ‘static’ 时才设置下列选项:

addr – 指定接口的 IP 地址。
mask – 指定 IP 地址的子网掩码。

注释 : 用来将 IP 地址配置模式从 DHCP 模式改为 static,或从 static
模式改为 DHCP。用静态 IP 地址在接口上添加 IP 地址,或添加
默认网关。
示例 :

set address name=”Local Area Connection” source=dhcp
set address local static 10.0.0.9 255.0.0.0 10.0.0.1 1
—————————————————————————-

了解了用法之后,我们就可以进行设置了:
在netsh interface ip>之后输入
set address “本地连接” static 192.168.4.23 255.255.255.192 192.168.4.1 1
然后回车,稍候会显示“确定”,IP设置完毕。
这里解释一下,“本地连接”是指Windows“网络属性”中看到的连接的名称,static表示要指定静态IP而非DHCP指派,后面三个分别是IP,子网掩码,网关,最后的“1”是指默认网关的跃点数,一般为“1”。

至此,命令行下设置IP完成。
同时你还可以在命令行下更改DNS设置,用的是set dns命令,你可以输入set dns /?查看使用方法。

我写了两个简单的批处理文件,分别叫home.bat and office.bat,这样只需要轻点鼠标,即可轻松设置。

先看看home.bat

@echo off

set eth=”本地连接”
set dns=202.104.32.251

echo Now changing the DNS to %dns%

REM netsh interface ip set dns %eth% source=dhcp
netsh interface ip set dns %eth% static %dns%

echo Success
pause

再来看看office.bat

@echo off

set eth=”本地连接”
set dns=202.104.32.251

echo Now changing the DNS to dhcp mode

netsh interface ip set dns %eth% source=dhcp
REM netsh interface ip set dns %eth% static %dns%

echo Success
pause

This entry was posted in 脚本语言 and tagged . Bookmark the permalink.

One Response to 利用批处理文件修改DNS

  1. Athenst says:

    哈哈,现在我已经不用这一招换IP了~~
    公司插网线,回家无线,无线我的无限~~

Leave a Reply

Your email address will not be published. Required fields are marked *