通过cmd方便的修改IP地址

前言

之前一直背着笔记本在公司和家里来回跑,公司和家里的网络拓扑还不一样,公司是固定 IP,家里是动态获取,所以导致每次到家或者公司都要手动更改 IP 地址,很麻烦,所以简单写了个脚本方便的更改 IP 地址。

netsh命令

修改 IP 地址仍然要使用到上一篇文章中所说的 netsh 命令,只不过这次使用的是它的另一个子命令:netsh interface ip set address

先来看帮助:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
D:\360download>netsh interface ip set address
一个或多个重要的参数没有输入。
请验证需要的参数,然后再次输入。
此命令提供的语法不正确。请查看帮助以获取正确的语法信息。

用法: set address [name=]<字符串>
[[source=]dhcp|static]
[[address=]<IPv4 地址>[/<整数>] [[mask=]<IPv4 掩码>]
[[gateway=]<IPv4 地址>|none [gwmetric=]<整数>]
[[type=]unicast|anycast]
[[subinterface=]<字符串>]
[[store=]active|persistent]

参数:

标记 值
name - 接口名称或索引。
source - 下列值之一:
dhcp: 启用 DHCP,以便为指定的接口
配置 IP 地址。
static: 禁用 DHCP,以便为指定的接口
配置 IP 地址。如果配置了
地址或网关,则必须指定
该值。
address - 要添加或修改的 IPv4 地址,
后边也可以加上子网前缀长度。
mask - 指定的 IP 地址的 IP 子网掩码。
gateway - 下列值之一:
<IPv4 address>: 正在设置的静态 IP 地址的
特定默认网关。
none: 未设置任何默认网关。此为默认值。
gwmetric - 默认网关的跃点数。仅在指定了网关时
才应设置该字段。
type - 下列值之一:
unicast: 将地址标记为单播地址。
此为默认值。
anycast: 将地址标记为任意广播地址。
subinterface - 默认网关存在于其上的子接口的 LUID
此参数仅用于带有
多个子接口的接口。
store - 下列值之一:
active: 设置仅持续到下一次启动。
persistent: 设置永久有效。此为默认值。

备注: 用来启用或禁用 IP 地址配置的 DHCP
同时删除所有以前的静态 IP 地址和默认网关,
并可以添加新的静态 IP 地址和默认网关。

示例:

set address name="Wired Ethernet Connection" source=dhcp
set address "Wired Ethernet Connection" static 10.0.0.9 255.0.0.0 10.0.0.1 1

帮助中已经解释的很清楚了,而且还有示例,写一个脚本很轻松。

将 IP 地址修改为自动获取:

1
2
3
netsh interface ip set address name="以太网" source=dhcp
netsh interface ip set dns name="以太网" source=dhcp
pause

将 IP 地址设置为固定 IP:

1
2
3
netsh interface ip set address "以太网" source=static addr=172.16.10.16 mask=255.255.255.0 gateway=172.16.10.254
netsh interface ip set dns "以太网" source=static address=114.114.114.114 validate=no
pause

将上面的两个脚本分别保存为 workbat 和 home.bat 就可以了,上班时直接双击 work.bat 即可将 IP 地址修改为固定 IP,回家时双击 home.bat 即可将 IP 地址修改回自动获取状态。添加 pause 命令是为了方便的查看命令是否执行成功,执行成功后按任意键即可退出脚本。

通过命令行修改 IP 地址需要用到管理员权限,记得右键使用管理员运行

总结

Windows 下的命令还是比较全的,但是因为绝大多数时候我们都是使用图形化界面进行 IP 地址的设置和修改,所以一般不会使用到命令行修改 IP 地址,导致这些命令知道的人相对比较少。

不过这也正常,相比于 Windows,Linux 的命令就比较常用和好用了,因为绝大多数的 Linux 都是命令行界面,只能通过命令来修改 IP 地址。

本文章首发于个人博客 LLLibra146’s blog
本文作者:LLLibra146
版权声明:本博客所有文章除特别声明外,均采用 © BY-NC-ND 许可协议。非商用转载请注明出处!严禁商业转载!
本文链接https://blog.d77.xyz/archives/f13ce4df.html