![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-07 21:37 |
共 48,041 主题排行 / 350,128 发帖 / 今日 3 篇 / 48,252 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » Windows下用命令行修改IP详解,附批处理文件 |
| 可打印版本 1,240 / 3 |
| 第1楼 yt110 | 发表于 2008-03-23 21:58 |
| 初级用户 发帖 9 积分 22 | |
|
Windows下用命令行修改IP详解,附批处理文件 由于作者所处的地方要经常在不同的网络之间切换,比如局域网、系统内部网和外网(光是外网我要常常在3个ADSL网之间切换)。我之前一直用的方法是在本机上设置多个不同网段的IP,然后切换路由(Route),这样不同的网段通过不同的网关出去,就可以达到同时访问多个网络的目的。但是这样我发现经常可能出现一些问题,所以我决定用最原始的方法来解决,那就是在要使用某一个网段的时候就只用这个网段的IP,这样就需要不停的更换IP地址。当然,在Windows的“网络连接”属性中这样的更改是很麻烦的,不过还好的是,Windows的“netsh”命令提供了命令行下更改IP的功能,利用这一点,可以将它做成BAT的批处理文件,就方便多了。
以下就是具体的方法和命令详解: 首先进入命令提示行:“Win+R”>“cmd”,回车 输入netsh,回车,出现:netsh> 再输入interface,回车,出现netsh interface> 再输入ip,回车,出现netsh interface ip> 进入IP设置项了,我们要用到以下的命令: set address - 添加一个 IP 地址到指定的接口。 先看看关于此令的windows帮助: -------------------------------------------------------------------------- 用法: set address [name=]<string> [[source=]dhcp | [source=] static [addr=]IP address [mask=]IP subnet mask] [[gateway=]<IP address>|none [gwmetric=]integer] 参数: 标记 值 name - 接口名称。 source - 下列值之一: dhcp: 对于指定接口,设置用 DHCP 配置 IP 地址。 static: 设置使用本地静态配置设置 IP 地址。 gateway - 下列值之一: <IP address>: 您设置的 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 /?查看使用方法。 最后,我们将这些命令保存为一个BAT文件(setIP192168423.bat): @echo off rem eth //eth 为网卡名称,可在网络连接中查询,如"本地连接" set eth="本地连接" rem ip //ip 为你想更改的IP set ip=192.168.4.23 rem gw //gw 为网关地址 set gw=192.168.4.1 rem netmasks //netmasks 为子网掩码 set netmasks=255.255.255.192 echo 正在将本机IP更改到: %ip% rem if %gw%==none netsh interface ip set address %eth% static %ip% %netmasks% %gw% > nul if not %gw%==none netsh interface ip set address %eth% static %ip% %netmasks% %gw% 1 > nul echo......................... echo 检查当前本机IP: ipconfig echo......................... echo 成功将本机IP更改为%ip%! pause close |
|
| 第2楼 goofy123 | 发表于 2008-03-24 13:14 |
| 初级用户 发帖 17 积分 36 | |
|
谢谢 坐下来仔细拜读
|
|
| 第3楼 bigwuke | 发表于 2008-03-27 14:12 |
| 新手上路 发帖 1 积分 2 | |
|
刚看过这方面,很详细,慢慢学习一下
|
|
| 第4楼 BWSkyer | 发表于 2008-03-27 14:20 |
| 中级用户 发帖 180 积分 367 来自 重庆 | |
|
DNS呢? 光改IP没有用的, 有时候还要修改dns
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |