注: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 位址,或添加
預設網關。
示例 :
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 成功将本機IP更改為%ip%!
pause
close
本文轉自 yuxye 51CTO部落格,原文連結:
http://blog.51cto.com/fishvsfrog/1072753