由于我所處的地方要經(jīng)常在不同的網(wǎng)絡(luò)之間切換,比如局域網(wǎng)、系統(tǒng)內(nèi)部網(wǎng)和外網(wǎng)(光是外網(wǎng)我要常常在3個ADSL網(wǎng)之間切換)。我之前一直用的方法是在本機上設(shè)置多個不同網(wǎng)段的IP,然后切換路由(Route),這樣不同的網(wǎng)段通過不同的網(wǎng)關(guān)出去,就可以達到同時訪問多個網(wǎng)絡(luò)的目的。但是這樣我發(fā)現(xiàn)經(jīng)常可能出現(xiàn)一些問題,所以我決定用最原始的方法來解決,那就是在要使用某一個網(wǎng)段的時候就只用這個網(wǎng)段的IP,這樣就需要不停的更換IP地址。當(dāng)然,在Windows的“網(wǎng)絡(luò)連接”屬性中這樣的更改是很麻煩的,不過還好的是,Windows的“netsh”命令提供了命令行下更改IP的功能,利用這一點,可以將它做成BAT的批處理文件,就方便多了。
以下就是具體的方法和命令詳解:
首先進入命令提示行:“Win+R”>“cmd”,回車
輸入netsh,回車,出現(xiàn):netsh>
再輸入interface,回車,出現(xiàn)netsh interface>
再輸入ip,回車,出現(xiàn)netsh interface ip>
進入IP設(shè)置項了,我們要用到以下的命令:
set address - 添加一個 IP 地址到指定的接口。
先看看關(guān)于此令的windows幫助:
--------------------------------------------------------------------------
用法: set address [name=]<string>
[[source=]dhcp |
[source=] static [addr=]IP address [mask=]IP subnet mask]
[[gateway=]<IP address>|none [gwmetric=]integer]
參數(shù):
標(biāo)記 值
name - 接口名稱。
source - 下列值之一:
dhcp: 對于指定接口,設(shè)置用 DHCP 配置 IP
地址。
static: 設(shè)置使用本地靜態(tài)配置設(shè)置 IP
地址。
gateway - 下列值之一:
<IP address>: 您設(shè)置的 IP 地址的指定默認(rèn)
網(wǎng)關(guān)。
none: 不設(shè)置默認(rèn)網(wǎng)關(guān)。
gwmetric - 默認(rèn)網(wǎng)關(guān)的躍點數(shù)。如果網(wǎng)關(guān)設(shè)置為 'none',則
不應(yīng)設(shè)置此字段。
只有在 'source' 為 'static' 時才設(shè)置下列選項:
addr - 指定接口的 IP 地址。
mask - 指定 IP 地址的子網(wǎng)掩碼。
注釋 : 用來將 IP 地址配置模式從 DHCP 模式改為 static,或從 static
模式改為 DHCP。用靜態(tài) IP 地址在接口上添加 IP 地址,或添加
默認(rèn)網(wǎng)關(guān)。
示例 :
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
----------------------------------------------------------------------------
了解了用法之后,我們就可以進行設(shè)置了:
在netsh interface ip>之后輸入
set address "本地連接" static 192.168.4.23 255.255.255.192 192.168.4.1 1
然后回車,稍候會顯示“確定”,IP設(shè)置完畢。
這里解釋一下,“本地連接”是指Windows“網(wǎng)絡(luò)屬性”中看到的連接的名稱,static表示要指定靜態(tài)IP而非DHCP指派,后面三個分別是IP,子網(wǎng)掩碼,網(wǎng)關(guān),最后的“1”是指默認(rèn)網(wǎng)關(guān)的躍點數(shù),一般為“1”。
至此,命令行下設(shè)置IP完成。
同時你還可以在命令行下更改DNS設(shè)置,用的是set dns命令,你可以輸入set dns /?查看使用方法。
最后,我們將這些命令保存為一個BAT文件(setIP192168423.bat):
@echo off
rem eth //eth 為網(wǎng)卡名稱,可在網(wǎng)絡(luò)連接中查詢,如"本地連接"
set eth="本地連接"
rem ip //ip 為你想更改的IP
set ip=192.168.4.23
rem gw //gw 為網(wǎng)關(guān)地址
set gw=192.168.4.1
rem netmasks //netmasks 為子網(wǎng)掩碼
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 檢查當(dāng)前本機IP:
ipconfig
echo.........................
echo 成功將本機IP更改為%ip%!
pause
close