|
由于我所處的地方要經(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)??赡艹霈F(xiàn)一些問題,所以我決定用最原始的方法來解決,那就是在要使用某一個網(wǎng)段的時候就只用這個網(wǎng)段的IP,這樣就需要不停的更換IP地址。當然,在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ù):
標記 值 name - 接口名稱。 source - 下列值之一: dhcp: 對于指定接口,設(shè)置用 DHCP 配置 IP 地址。 static: 設(shè)置使用本地靜態(tài)配置設(shè)置 IP 地址。
gateway - 下列值之一: <IP address>: 您設(shè)置的 IP 地址的指定默認 網(wǎng)關(guān)。 none: 不設(shè)置默認網(wǎng)關(guān)。 gwmetric - 默認網(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 地址,或添加 默認網(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”是指默認網(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 檢查當前本機IP: ipconfig echo......................... echo 成功將本機IP更改為%ip%! pause close |
|