用批處理把自動獲取的IP自動轉化為靜態IP?

把自動獲取到的IP修改為手動靜態IP,一般的做法是把自動獲取到的IP、dns等資訊,直接填入網絡卡的tcp/ipv4屬性上,或者使用需要每個單獨填入IP的批處理進行分別處理,不過這兩種辦法都做不到完全自動化,通用化,部署簡單化。

因為一旦遇到需要大批量設靜態IP情況,就會顯得很費時費力了,所以很有必要摸索出一個滿足自動化,通用化,部署簡單化的批處理來。

工具/原料

記事本

電腦

方法/步驟

開啟記事本

複製以下內容

@echo off

ipconfig>ipc.txt

netsh interface ip show address>gwc.txt

for /f "delims=: tokens=2" %%a in ('find "IPv4 地址" ipc.txt') do set IP=%%a

for /f "delims=: tokens=2" %%b in ('find "子網掩碼" ipc.txt') do set mask=%%b

for /f "delims=: tokens=2" %%i in ('find "預設閘道器" gwc.txt') do set gw=%%i

netsh interface ip set address "本地連線" static %IP% %mask% %gw% 0

netsh interface ip set dns "本地連線" static 首DNS primary

netsh interface ip add dns "本地連線" 次DNS

del ipc.txt

del gwc.txt

pause

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

注:需要修改地方有兩個,那就是首DNS和次DNS,這個根據你電腦實際的DNS進行修改。

用批處理把自動獲取的IP自動轉化為靜態IP 聽語音

然後另存為bat檔案,記得儲存型別為所有檔案。

用批處理把自動獲取的IP自動轉化為靜態IP 聽語音

用批處理把自動獲取的IP自動轉化為靜態IP 聽語音

執行bat檔案就可以使用了。當bat檔案執行完成後,就會提示“請按任意鍵繼續...”,按任意鍵就可以退出。這裡就表示已經把自動獲取的IP自動轉化為靜態IP。

用批處理把自動獲取的IP自動轉化為靜態IP 聽語音

以下情況,執行此bat檔案會出錯:

1、有多個網絡卡或者網路介面卡;

2、連線網路的網絡卡名字不叫“本地連線”而是叫做“本地連線 2”或“本地連線 3”等。(執行bat檔案時會提示找不到元素)。

解決辦法:

第一情況,在執行之前,把除了需要設定靜態IP網絡卡外的網絡卡禁用掉,完成後,再啟用被禁用的網絡卡;

第二種情況、如果網絡卡的名字叫做“本地連線 2”,那就把批處理的“本地連線”改為“本地連線 2”,網絡卡的名字叫什麼,就把批處理“本地連線”改成什麼。

在已經設定好手動DNS或者新舊DNS不一致情況下,執行該bat檔案會提示“可能會提示配置的DNS伺服器不正確或不存在” 不過沒關係,bat檔案新的DNS會覆蓋電腦上舊的DNS,可忽略掉此錯誤。

注意事項

1、有多個網絡卡或者網路介面卡。

2、連線網路的網絡卡的名字不叫“本地連線”叫做“本地連線 2”或“本地連線 3”等(執行bat時會提示找不到元素)。

3、不同版本的windows網絡卡的顯示引數會不一樣。(例如winxp和win7網絡卡的顯示引數一樣,預設都是"IPv4 地址", "子網掩碼","預設閘道器","本地連線"。)

相關問題答案