windows下使用命令行修改网卡ip地址

简介:

转帖自:http://www.jb51.net/article/26996.htm

注:netsh命令需要使用管理员访问方式运行

由于我所处的地方要经常在不同的网络之间切换,比如局域网、系统内部网和外网(光是外网我要常常在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 地址,或添加 
默认网关。 
示例 :

 
  1. set address name="Local Area Connection" source=dhcp   
  2. set address local static 10.0.0.9 255.0.0.0 10.0.0.1 1  


----------------------------------------------------------------------------

了解了用法之后,我们就可以进行设置了: 
在netsh interface ip>之后输入 
 

 
  1. 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): 
复制代码 代码如下:
 

 
  1. @echo off   
  2. rem eth //eth 为网卡名称,可在网络连接中查询,如"本地链接"   
  3. set eth="本地链接"   
  4. rem ip //ip 为你想更改的IP   
  5. set ip=192.168.4.23   
  6. rem gw //gw 为网关地址   
  7. set gw=192.168.4.1   
  8. rem netmasks //netmasks 为子网掩码   
  9. set netmasks=255.255.255.192   
  10.  
  11. echo 正在将本机IP更改到: %ip%   
  12. rem   
  13. if %gw%==none netsh interface ip set address %eth% static %ip% %netmasks% %gw% > nul   
  14. if not %gw%==none netsh interface ip set address %eth% static %ip% %netmasks% %gw% 1 > nul   
  15. echo.........................   
  16. echo 检查当前本机IP:   
  17. ipconfig   
  18. echo.........................   
  19. echo 成功将本机IP更改为%ip%!   
  20. pause   
  21. close  
  22. 本文转自 yuxye 51CTO博客,原文链接:
    http://blog.51cto.com/fishvsfrog/1072753

相关文章
|
Ubuntu 网络协议 Linux
如何在无公网IP环境使用Windows远程桌面Ubuntu
如何在无公网IP环境使用Windows远程桌面Ubuntu
653 0
|
Windows
windows家庭版禁用 hype-v 命令行
windows家庭版禁用 hype-v 命令行
173 0
|
Windows
windows命令行查找修改文件
windows命令行查找修改文件
419 0
|
网络协议 安全 文件存储
Windows本地搭建WebDAV服务并使用内网穿透远程访问【无公网IP】
Windows本地搭建WebDAV服务并使用内网穿透远程访问【无公网IP】
|
安全 Linux 网络安全
【Windows】搭建Emby媒体库服务器,实现无公网IP远程访问
【Windows】搭建Emby媒体库服务器,实现无公网IP远程访问
1552 0
|
Windows
windows windows10 查看进程的命令行
windows windows10 查看进程的命令行
190 0
|
Linux Windows
【Linux】grub命令行引导进入windows系统
【8月更文挑战第20天】在Linux中通过GRUB命令行引导Windows的方法包括:1) 进入GRUB命令行模式,启动时按`c`键;2) 使用`ls`查找含Windows引导文件的分区,如`bootmgr`或`ntldr`;3) 设置根设备`root=(hd0,msdos3)`与链加载器`chainloader +1`;4) 输入`boot`命令启动Windows。请注意实际步骤可能因系统配置而异。
2387 2
|
Windows
Windows 11 鼠标右键可选择 cmd 命令行选项
Windows 11 鼠标右键可选择 cmd 命令行选项
278 0
|
缓存 网络协议 Linux
碎片技能:在 Windows 的任意目录一键快捷进入 CMD 命令行界面
在Windows 10/11中,SaaS服务商常需使用命令行,如PowerShell或CMD。本文介绍了如何进入DOS命令行:通过“开始”菜单→“运行”→输入“cmd”,然后确认。此外,还展示了如何在任意目录快速启动DOS命令行,只需右键点击并选择相应菜单项。提供两种实现方法:一是导入注册表文件,二是使用名为ContextMenuManager的优化软件。建议使用软件方法,易于添加和删除菜单项。
584 1
碎片技能:在 Windows 的任意目录一键快捷进入 CMD 命令行界面
【Azure 应用服务】App Service 配置 Application Settings 访问Storage Account得到 could not be resolved: '*.file.core.windows.net'的报错。没有解析成对应中国区 Storage Account地址 *.file.core.chinacloudapi.cn
【Azure 应用服务】App Service 配置 Application Settings 访问Storage Account得到 could not be resolved: '*.file.core.windows.net'的报错。没有解析成对应中国区 Storage Account地址 *.file.core.chinacloudapi.cn
260 0