Windows下用命令列修改IP地址的方法詳解(附批次檔)_DOS/BAT

來源:互聯網
上載者:User
由於我所處的地方要經常在不同的網路之間切換,比如區域網路、系統內部網和外網(光是外網我要常常在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.........................
echo 成功將本機IP更改為%ip%!
pause
close
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.